Crate gruel_parser

Crate gruel_parser 

Source
Expand description

Parser and AST for the Gruel programming language.

Uses chumsky for parser combinators with Pratt parsing for expressions.

Re-exports§

pub use ast::ArgMode;
pub use ast::ArrayLitExpr;
pub use ast::AssignStatement;
pub use ast::AssignTarget;
pub use ast::Ast;
pub use ast::BinaryExpr;
pub use ast::BinaryOp;
pub use ast::BlockExpr;
pub use ast::CallArg;
pub use ast::CallExpr;
pub use ast::Directive;
pub use ast::DirectiveArg;
pub use ast::EnumDecl;
pub use ast::EnumVariant;
pub use ast::Expr;
pub use ast::FieldDecl;
pub use ast::FieldExpr;
pub use ast::FieldInit;
pub use ast::Function;
pub use ast::Ident;
pub use ast::IndexExpr;
pub use ast::IntLit;
pub use ast::IntrinsicArg;
pub use ast::IntrinsicCallExpr;
pub use ast::Item;
pub use ast::LetPattern;
pub use ast::LetStatement;
pub use ast::MatchArm;
pub use ast::MatchExpr;
pub use ast::Method;
pub use ast::MethodCallExpr;
pub use ast::NULL_NODE;
pub use ast::NodeData;
pub use ast::NodeIndex;
pub use ast::NodeTag;
pub use ast::Param;
pub use ast::ParamMode;
pub use ast::ParenExpr;
pub use ast::PathExpr;
pub use ast::PathPattern;
pub use ast::Pattern;
pub use ast::ReturnExpr;
pub use ast::SelfParam;
pub use ast::SoaAst;
pub use ast::Statement;
pub use ast::StructDecl;
pub use ast::StructLitExpr;
pub use ast::TypeExpr;
pub use ast::TypeLitExpr;
pub use ast::UnaryExpr;
pub use ast::UnaryOp;
pub use ast::WhileExpr;

Modules§

ast
Abstract Syntax Tree types for Gruel.

Structs§

Parser
Chumsky-based parser that converts tokens into an AST.