[−][src]Module fr::compile
Structs
Assign | |
Call | |
Define | |
Deref | |
ForeignFn | This class is only used for foreign functions. Do not use for regular functions. |
If | |
Load | |
Program | This object manages compiling the program, and setting the enabled flags. |
Refer | |
Return | This sets the RETURN register to an Eval |
SCOPE_STACK | This is used to manage variable definitions within scopes. When a function is called, a scope is pushed on the scope stack, and all new definitions are contained in the new scope. When the function call finishes, the scope is popped and freed. |
UserFn | |
While |
Enums
Error | The possible compiler errors |
Eval | This represents a value that can be evaluated. Variables, literals, function calls, value dereferences, variable references, and values (this is a cheat for letting the compiler easily use values in place of long Evals) can all be evaluated into a Value |
Expr | This represents a statement as opposed to a value. A value can also be a statement, though. |
Flag | The possible flags to be returned by the parser |
Literal |
Traits
Compile | This trait is for objects that compile into expressions rather than values. This is applicable for definitions, assignments, return expressions, while loops, etc.. |
Lower | This trait describes objects that are lowered into values rather than expressions, such as function calls literals, variables, etc.. |
Functions
call | |
define | |
define_no_cp | |
deforfun | |
get | |
get_return | This retreives the last value returned by a function |
set_return | This sets the RETURN value object to a specific value |