[][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