|
| | ExprBinaryOpNode (const Expression *expr, ExprNode *a, ExprNode *b, char op) |
| |
| | ExprBinaryOpNode (const ExprBinaryOpNode &)=default |
| |
| ExprBinaryOpNode & | operator= (const ExprBinaryOpNode &)=default |
| |
| | ExprBinaryOpNode (ExprBinaryOpNode &&)=default |
| |
| ExprBinaryOpNode & | operator= (ExprBinaryOpNode &&)=default |
| |
| | ~ExprBinaryOpNode () override |
| |
| ExprType | prep (bool wantScalar, ExprVarEnvBuilder &envBuilder) override |
| |
| int | buildInterpreter (Interpreter *interpreter) const override |
| | builds an interpreter. Returns the location index for the evaluated data
|
| |
| LLVM_VALUE | codegen (LLVM_BUILDER) LLVM_BODY |
| |
| | ExprNode (const Expression *expr) |
| |
| | ExprNode (const Expression *expr, const ExprType &type) |
| |
| virtual | ~ExprNode () |
| |
| bool | isVec () const |
| | True if node has a vector result.
|
| |
| const Expression * | expr () const |
| | Access expression.
|
| |
| std::string | toString () const |
| | Access to original string representation of current expression.
|
| |
| const ExprType & | type () const |
| | The type of the node.
|
| |
| void | addError (const ErrorCode error, const std::vector< std::string > &ids={}) const |
| | Register error. This will allow users and sophisticated editors to highlight where in code problem was.
|
| |
| | ExprNode (const Expression *expr, ExprNode *a) |
| |
| | ExprNode (const Expression *expr, ExprNode *a, const ExprType &type) |
| |
| | ExprNode (const Expression *expr, ExprNode *a, ExprNode *b) |
| |
| | ExprNode (const Expression *expr, ExprNode *a, ExprNode *b, const ExprType &type) |
| |
| | ExprNode (const Expression *expr, ExprNode *a, ExprNode *b, ExprNode *c) |
| |
| | ExprNode (const Expression *expr, ExprNode *a, ExprNode *b, ExprNode *c, const ExprType &type) |
| |
| const ExprNode * | parent () const |
| | Access parent node - root node has no parent.
|
| |
| int | numChildren () const |
| | Number of children.
|
| |
| const ExprNode * | child (size_t i) const |
| | Get 0 indexed child.
|
| |
| ExprNode * | child (size_t i) |
| | Get 0 indexed child.
|
| |
| void | swapChildren (size_t i, size_t j) |
| | Swap children, do not use unless you know what you are doing.
|
| |
| void | removeLastChild () |
| | Remove last child and delete the entry.
|
| |
| void | addChild (ExprNode *child) |
| | Add a child to the child list (for parser use only)
|
| |
| void | addChildren (ExprNode *surrogate) |
| | Transfer children from surrogate parent (for parser use only)
|
| |
| void | setPosition (const short int startPos, const short int endPos) |
| | Remember the line and column position in the input string.
|
| |
| unsigned short int | startPos () const |
| | Access start position in input string.
|
| |
| unsigned short int | endPos () const |
| | Access end position in input string.
|
| |
| unsigned short int | length () const |
| | Access length of input string.
|
| |
| bool | checkCondition (bool check, const ErrorCode message, const std::vector< std::string > &ids, bool &error) const |
| | Checks the boolean value and records an error string with node if it is false.
|
| |
| bool | checkIsValue (const ExprType &type, bool &error) const |
| | Checks if the type is a value (i.e. string or float[d])
|
| |
| bool | checkIsFP (const ExprType &type, bool &error) const |
| | Checks if the type is a float[d] for any d.
|
| |
| bool | checkIsFP (int d, const ExprType &type, bool &error) const |
| | Checks if the type is a float[d] for a specific d.
|
| |
| bool | checkTypesCompatible (const ExprType &first, const ExprType &second, bool &error) const |
| | types match (true if they do)
|
| |
Node that implements an binary operator.
Definition at line 545 of file ExprNode.h.