Representation of the Abstract Syntax Tree for Fabrique source code. More...
Classes | |
| class | Action |
| A build action that can transform inputs into outputs. More... | |
| class | Argument |
| An argument being passed to an action or function (caller-side). More... | |
| class | ASTDump |
| Backend that prints the AST as a (not very pretty) tree. More... | |
| class | BinaryOperation |
| An operation with two operands. More... | |
| class | BoolLiteral |
| A literal 'true' or 'false' value in code. More... | |
| class | Call |
| A call to a function or build action. More... | |
| class | CompoundExpression |
| An expression that can contain intermediate values. More... | |
| class | Conditional |
| A function allows users to create build abstractions. More... | |
| class | DebugTracePoint |
| An operation with two operands. More... | |
| class | EvalContext |
| A context for evaluating AST Expression objects. More... | |
| class | Expression |
| Base class for expressions that can be evaluated. More... | |
| class | FieldAccess |
| An expression that imports a Fabrique module. More... | |
| class | FieldQuery |
| An expression that imports a Fabrique module. More... | |
| class | FileList |
| A list of files, with optional arguments that can be applied to each file. More... | |
| class | Filename |
| A reference to a file on disk (source or target). More... | |
| class | ForeachExpr |
| An expression that maps list elements into another list. More... | |
| class | Function |
| A function allows users to create build abstractions. More... | |
| class | HasParameters |
| A mixin type for something that can be called with parameters. More... | |
| class | HasScope |
| A mixin type for something that has a Scope. More... | |
| class | Identifier |
| The name of a value, function, parameter or argument. More... | |
| class | Import |
| An expression that imports a Fabrique module. More... | |
| class | IntLiteral |
| An integer value in code. More... | |
| class | List |
| A list of same-typed expressions. More... | |
| class | Literal |
| An expression whose value is literally expressed in the source file. More... | |
| class | Mapping |
| An expression that maps a sequence into a variable (e.g., at the beginning of a foreach loop). More... | |
| class | Node |
| Base class for expressions that can be evaluated. More... | |
| class | Parameter |
| A formal parameter in a fabrique::ast::Function. More... | |
| class | Parser |
| Parses Fabrique files as driven by flex/byacc. More... | |
| class | Scope |
| A scope is a container for name->value mappings. More... | |
| class | SomeValue |
| A value boxed up in a maybe type. More... | |
| class | StringLiteral |
| A string value enclosed by single or double quotes. More... | |
| class | StructInstantiation |
| A list of same-typed expressions. More... | |
| class | SymbolReference |
| A reference to a named symbol. More... | |
| class | UnaryOperation |
| An operation with two operands. More... | |
| class | Value |
| Base class for expressions that can be evaluated. More... | |
| class | Visitor |
| Interface for visitors that walk the AST. More... | |
Typedefs | |
| typedef PtrVec< Expression > | ExprVec |
Representation of the Abstract Syntax Tree for Fabrique source code.