| 
    KiCad PCB EDA Suite
    
   | 
 
#include <cstddef>#include <functional>#include <map>#include <string>#include <stack>#include <kicommon.h>#include <base_units.h>#include <wx/intl.h>Go to the source code of this file.
Classes | |
| struct | LIBEVAL::ERROR_STATUS | 
| struct | LIBEVAL::T_TOKEN_VALUE | 
| struct | LIBEVAL::T_TOKEN | 
| class | LIBEVAL::TREE_NODE | 
| class | LIBEVAL::UNIT_RESOLVER | 
| class | LIBEVAL::VALUE | 
| class | LIBEVAL::VAR_REF | 
| class | LIBEVAL::CONTEXT | 
| class | LIBEVAL::UCODE | 
| class | LIBEVAL::UOP | 
| class | LIBEVAL::TOKENIZER | 
| class | LIBEVAL::COMPILER | 
Namespaces | |
| namespace | LIBEVAL | 
Macros | |
| #define | TR_OP_BINARY_MASK 0x200 | 
| #define | TR_OP_UNARY_MASK 0x100 | 
| #define | TR_OP_MUL 0x201 | 
| #define | TR_OP_DIV 0x202 | 
| #define | TR_OP_ADD 0x203 | 
| #define | TR_OP_SUB 0x204 | 
| #define | TR_OP_LESS 0x205 | 
| #define | TR_OP_GREATER 0x206 | 
| #define | TR_OP_LESS_EQUAL 0x207 | 
| #define | TR_OP_GREATER_EQUAL 0x208 | 
| #define | TR_OP_EQUAL 0x209 | 
| #define | TR_OP_NOT_EQUAL 0x20a | 
| #define | TR_OP_BOOL_AND 0x20b | 
| #define | TR_OP_BOOL_OR 0x20c | 
| #define | TR_OP_BOOL_NOT 0x100 | 
| #define | TR_OP_FUNC_CALL 24 | 
| #define | TR_OP_METHOD_CALL 25 | 
| #define | TR_UOP_PUSH_VAR 1 | 
| #define | TR_UOP_PUSH_VALUE 2 | 
Typedefs | |
| typedef std::function< void(CONTEXT *, void *)> | LIBEVAL::FUNC_CALL_REF | 
Enumerations | |
| enum | LIBEVAL::COMPILATION_STAGE { LIBEVAL::CST_PARSE = 0 , LIBEVAL::CST_CODEGEN , LIBEVAL::CST_RUNTIME } | 
| enum | LIBEVAL::VAR_TYPE_T {  LIBEVAL::VT_STRING = 1 , LIBEVAL::VT_NUMERIC , LIBEVAL::VT_NUMERIC_DOUBLE , LIBEVAL::VT_UNDEFINED , LIBEVAL::VT_PARSE_ERROR , LIBEVAL::VT_NULL }  | 
| enum | LIBEVAL::TOKEN_TYPE_T {  LIBEVAL::TR_UNDEFINED = 0 , LIBEVAL::TR_NUMBER = 1 , LIBEVAL::TR_IDENTIFIER = 2 , LIBEVAL::TR_ASSIGN = 3 , LIBEVAL::TR_STRUCT_REF = 4 , LIBEVAL::TR_STRING = 5 , LIBEVAL::TR_UNIT = 6 , LIBEVAL::TR_ARG_LIST = 7 , LIBEVAL::TR_NULL = 8 }  | 
Functions | |
| TREE_NODE * | LIBEVAL::newNode (LIBEVAL::COMPILER *compiler, int op, const T_TOKEN_VALUE &value) | 
Variables | |
| constexpr T_TOKEN_VALUE | LIBEVAL::defaultTokenValue = { nullptr, 0.0, 0 } | 
| constexpr T_TOKEN | LIBEVAL::defaultToken = { TR_UNDEFINED, defaultTokenValue } | 
| #define TR_OP_ADD 0x203 | 
Definition at line 43 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_BINARY_MASK 0x200 | 
Definition at line 38 of file libeval_compiler.h.
Referenced by LIBEVAL::dumpNode(), and LIBEVAL::UOP::Exec().
| #define TR_OP_BOOL_AND 0x20b | 
Definition at line 51 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_BOOL_NOT 0x100 | 
Definition at line 53 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_BOOL_OR 0x20c | 
Definition at line 52 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_DIV 0x202 | 
Definition at line 42 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_EQUAL 0x209 | 
Definition at line 49 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_FUNC_CALL 24 | 
Definition at line 54 of file libeval_compiler.h.
Referenced by LIBEVAL::dumpNode(), LIBEVAL::UOP::Format(), LIBEVAL::COMPILER::generateUCode(), and LIBEVAL::prepareTree().
| #define TR_OP_GREATER 0x206 | 
Definition at line 46 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_GREATER_EQUAL 0x208 | 
Definition at line 48 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_LESS 0x205 | 
Definition at line 45 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_LESS_EQUAL 0x207 | 
Definition at line 47 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_METHOD_CALL 25 | 
Definition at line 55 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), LIBEVAL::UOP::Format(), and LIBEVAL::COMPILER::generateUCode().
| #define TR_OP_MUL 0x201 | 
Definition at line 41 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_NOT_EQUAL 0x20a | 
Definition at line 50 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_SUB 0x204 | 
Definition at line 44 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), and LIBEVAL::formatOpName().
| #define TR_OP_UNARY_MASK 0x100 | 
Definition at line 39 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec().
| #define TR_UOP_PUSH_VALUE 2 | 
Definition at line 57 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), LIBEVAL::UOP::Format(), and LIBEVAL::COMPILER::generateUCode().
| #define TR_UOP_PUSH_VAR 1 | 
Definition at line 56 of file libeval_compiler.h.
Referenced by LIBEVAL::UOP::Exec(), LIBEVAL::UOP::Format(), and LIBEVAL::COMPILER::generateUCode().