|
|
| FunctionExpr (GCMain &gc, const TokenPos &pos, const std::string &name, std::pair< std::vector< Expr * >, Expr * > fncase) noexcept |
| |
|
void | calcDepth () noexcept |
| |
| bool | addCase (std::pair< std::vector< Expr * >, Expr * > fncase) noexcept |
| | Adds function evaluation case to function. More...
|
| |
| const std::string & | getName () const noexcept |
| |
|
std::vector< std::pair< std::vector< Expr * >, Expr * > > & | getFunctionCases () noexcept |
| |
|
const std::vector< std::pair< std::vector< Expr * >, Expr * > > & | getFunctionCases () const noexcept |
| |
|
virtual void | mark (GCMain &gc) noexcept override |
| | If not marked mark itself and children.
|
| |
| virtual Expr * | eval (GCMain &gc, Environment &env) noexcept |
| | Evaluates expression one time. More...
|
| |
| virtual std::string | toString () const noexcept override |
| |
|
| Expr (GCMain &gc, ExprType type, const TokenPos &pos) |
| |
|
std::size_t | getDepth () const noexcept |
| |
| bool | hasLastEval () const noexcept |
| |
| const TokenPos & | getTokenPos () const noexcept |
| |
| ExprType | getExpressionType () const noexcept |
| |
| Expr * | evalWithLookup (GCMain &gc, Environment &env) noexcept |
| |
| virtual Expr * | replace (GCMain &gc, const std::string &name, Expr *expr) const noexcept |
| | Replace all identifiers equal to name with expr. More...
|
| |
| virtual bool | equals (const Expr *expr, bool exact=false) const noexcept |
| | Checks if this expression and expr have the same structure, Every expression has the same structure as '_' (it's called ANY after all). More...
|
| |
| virtual std::vector< std::string > | getIdentifiers () const noexcept |
| |
| virtual Expr * | optimize (GCMain &gc) noexcept |
| |
|
| GCObj (GCMain &main) noexcept |
| | Initialize as not marked.
|
| |
| virtual bool | isMarked (GCMain &main) const noexcept |
| |
Represents a named function.