Expand description
Abstract syntax tree for µcad files
Structs§
- Argument
Definition - A definition of a single of a workbench definition or function definition
- Argument
List - A list of arguments to a function call
- Arguments
Definition - A definition of the arguments of a workbench definition or function definition
- Array
Item - An item that can be part of an array expression
- Array
List Expression - An array specified as a list of items
- Array
Range Expression - An array range, containing all values from the start value (inclusive) till then end value (exclusive)
- Array
Type - An array type
- Assignment
- An assigment statement
- Attribute
- An attribute that can be attached to a statement
- Binary
Operation - A binary operation
- Bool
Literal - A boolean literal, either
trueorfalse - Call
- A function call
- Comment
- A single- or multi-line comment
- Element
Access - An expression that access an element from another expression.
- Expression
Statement - A statement containing of a bare expression
- Float
Literal - An float literal without type
- Format
String - A string containing a format expression
- Function
Definition - A definition of a function
- Identifier
- A µcad identifier
- If
- An if expression, can be used as either a statement or expression
- Init
Definition - An init definition for a workbench
- Integer
Literal - An integer literal without type
- Item
Extras - Non-syntactic extras that can be attached to many ast nodes
- Literal
- A literal value
- Literal
Error - An error that can be encountered while parsing literal tokens
- Module
Definition - A definition of a module
- Named
Argument - An argument with a specified name
- Qualified
Name - A qualified name, containing one or more
Literals seperated by:: - Quantity
Literal - Return
- A return statement
- Single
Type - A type for a single numeric value
- Source
File - A µcad source file
- Statement
List - A list of statements, with an optional “tail” expression
- String
Character - A single character that is part of a
FormatString - String
Expression - A format expression that is part of a
FormatString - String
Format Specification - The format specification for a
StringExpression, specifying the with and precision for number formatting - String
Literal - A string literal, without format expressions
- Tuple
Expression - A tuple expression, a fixed size set of items that don’t need to be the same type
- Tuple
Item - An item that is part of a tuple expression
- Tuple
Type - A tuple type
- Unary
Operation - A unary operation
- Unnamed
Argument - An argument without specified name
- UseName
- The name of the item being imported
- UseStatement
- A use statement that imports an item from an external library
- Workbench
Definition - A definition of a workbench
Enums§
- Argument
- A function argument that is part of an
ArgumentList - Assignment
Qualifier - An optional qualifier that can be part of an
Assignment - Attribute
Command - The contents an an
Attribute - Element
- The possible element access types
- Expression
- Any expression.
- Item
Extra - Literal
Error Kind - Literal
Kind - The various types of literal values a
Literalcan contain - Operator
- An operator for binary operators
- Statement
- A µcad statements
- String
Part - A part of a
FormatString - Type
- The possible types
- Unary
Operator - An operator for unary operators
- UseStatement
Part - The parts a
UseNameconsists of, separated by:: - Visibility
- An optional visibility modifier that can be art of assigment and module, function and workbench definitions
- Workbench
Kind - The possible type of workbenches