CsBinaryExpression Struct ReferenceBinary expression AST node.
More...
Inheritance diagram for CsBinaryExpression:
List of all members.
|
Public Member Functions |
| CsBinaryExpression () |
| CsBinaryExpression (CsExpression *lhs_, CsTokenType oper_, CsExpression *rhs_) |
| CsBinaryExpression (LineInfo line_info) |
| CsBinaryExpression (LineInfo line_info, CsNode *parent, CsExpression *lhs_, CsTokenType oper_) |
| CsBinaryExpression (LineInfo line_info, CsExpression *lhs_, CsTokenType oper_, CsExpression *rhs_) |
| CsBinaryExpression (LineInfo line_info, CsExpression *lhs_, CsTokenType oper_, CsExpression *rhs_, CsTokenIndex operator_token_) |
virtual | ~CsBinaryExpression () |
virtual void | type_lookup (CsDisplay &display) |
| Type Lookup - pass 3 (for internal purpose only).
|
virtual void | member_lookup (CsDisplay &display) |
| Member Lookup - pass 4 (for internal purpose only).
|
virtual void | addTokensRecursive (CsTokenCollector &tokenCollector) |
| Recusively collect token indexes in source code order.
|
virtual void | addTokens (CsTokenCollector &tokenCollector) |
| Collect token indexes associated with this AST node.
|
virtual void | clearEntities () |
| Clear all entity references (for internal purpose only).
|
Public Attributes |
CsExpression * | lhs |
| Left expression.
|
CsTokenType | oper |
| Binary operator (one of: tkSTAR, tkDIV, tkMOD, tkPLUS, tkMINUS, tkSHIFT_LEFT, tkSHIFT_RIGHT, tkLESS, tkGREATER, tkLESS_OR_EQUAL, tkGREATER_OR_EQUAL, tkEQUAL, tkNOT_EQ, tkBITAND, tkXOR, tkBITOR, tkAND, tkOR).
|
CsExpression * | rhs |
| Right expression.
|
CsTokenIndex | operator_token |
Detailed Description
Binary expression AST node.
EBNF grammar:
binary-expression:
expression "*" expression
expression "/" expression
expression "%" expression
expression "+" expression
expression "-" expression
expression "<<" expression
expression ">>" expression
expression "<" expression
expression ">" expression
expression "<=" expression
expression ">=" expression
expression "==" expression
expression "!=" expression
expression "&" expression
expression "^" expression
expression "|" expression
expression "&&" expression
expression "||" expression
Constructor & Destructor Documentation
CsBinaryExpression::CsBinaryExpression |
( |
|
) |
[inline] |
|
CsBinaryExpression::CsBinaryExpression |
( |
LineInfo |
line_info |
) |
[inline, explicit] |
|
Member Function Documentation
virtual void CsBinaryExpression::addTokens |
( |
CsTokenCollector & |
tokenCollector |
) |
[virtual] |
|
|
Collect token indexes associated with this AST node.
Implements CsNode. |
virtual void CsBinaryExpression::addTokensRecursive |
( |
CsTokenCollector & |
tokenCollector |
) |
[virtual] |
|
|
Recusively collect token indexes in source code order.
Implements CsNode. |
virtual void CsBinaryExpression::clearEntities |
( |
|
) |
[virtual] |
|
|
Clear all entity references (for internal purpose only).
Reimplemented from CsExpression. |
virtual void CsBinaryExpression::member_lookup |
( |
CsDisplay & |
display |
) |
[virtual] |
|
|
Member Lookup - pass 4 (for internal purpose only).
Implements CsNode. |
virtual void CsBinaryExpression::type_lookup |
( |
CsDisplay & |
display |
) |
[virtual] |
|
|
Type Lookup - pass 3 (for internal purpose only).
Implements CsNode. |
Member Data Documentation
|
Binary operator (one of: tkSTAR, tkDIV, tkMOD, tkPLUS, tkMINUS, tkSHIFT_LEFT, tkSHIFT_RIGHT, tkLESS, tkGREATER, tkLESS_OR_EQUAL, tkGREATER_OR_EQUAL, tkEQUAL, tkNOT_EQ, tkBITAND, tkXOR, tkBITOR, tkAND, tkOR).
|
|