|
Functional-lang
0.0
An example functional programming language
|
A syntax parser/Syntax analysis. More...
Go to the source code of this file.
Classes | |
| class | Environment |
| Environment for accessing variables. More... | |
| class | StackFrameObj< T > |
| Class for adding Expr's to stack frame of Environment. More... | |
| class | Expr |
| Main expression handle (should only be used as parent class). More... | |
| class | BiOpExpr |
| Binary operator expression. More... | |
| class | UnOpExpr |
| class | NumExpr |
| Floating point number expression. More... | |
| class | IntExpr |
| Integer number expression. More... | |
| class | IdExpr |
| Identifier expression. More... | |
| class | LambdaExpr |
| Lambda function expression. More... | |
| class | AtomExpr |
| Atom expression. More... | |
| class | IfExpr |
| If-then-else expression. More... | |
| class | AnyExpr |
| any expression More... | |
| class | LetExpr |
| Let expression. More... | |
| class | FunctionExpr |
| Represents a named function. More... | |
Enumerations | |
| enum | ExprType : int { expr_biop, expr_unop, expr_num, expr_int, expr_id, expr_lambda, expr_atom, expr_if, expr_any, expr_let, expr_fn } |
| Types of expressions. More... | |
Functions | |
| std::vector< Expr * >::iterator | find (std::vector< Expr * > &vec, Expr *expr) noexcept |
| const Expr * | assignExpressions (GCMain &gc, Environment &env, const Expr *thisExpr, const Expr *lhs, const Expr *rhs) noexcept |
| Expr * | reportSyntaxError (Lexer &lexer, const std::string &msg, const TokenPos &pos) |
| Expr * | eval (GCMain &gc, Environment &env, Expr *expr) noexcept |
| Executes eval function for given expr as long as different expr is returned. More... | |
| void | breadthEval (GCMain &gc, Environment &env, StackFrameObj< Expr > &lhs, StackFrameObj< Expr > &rhs) noexcept |
| Executes eval function for given expressions as long as differenct expr returned. Breadth first execution. More... | |
A syntax parser/Syntax analysis.
| enum ExprType : int |
Types of expressions.
|
noexcept |
Executes eval function for given expressions as long as differenct expr returned. Breadth first execution.
| gc | |
| env | |
| lhs | |
| rhs |
|
noexcept |
Executes eval function for given expr as long as different expr is returned.
| gc | |
| env | Environment to use |
| expr | Expression to evaluate |
1.8.15