Create AST nodes for multiplicative expressions.

This commit is contained in:
Roberto Raggi
2010-11-11 15:25:19 +01:00
parent 701ff3887d
commit b311703234
3 changed files with 324 additions and 318 deletions

View File

@@ -257,7 +257,10 @@ public:
List<AST *> *ast_list; List<AST *> *ast_list;
Declaration *declaration; Declaration *declaration;
List<Declaration *> *declaration_list; List<Declaration *> *declaration_list;
Expression *expression;
List<Expression *> *expression_list;
TranslationUnit *translation_unit; TranslationUnit *translation_unit;
// ### ast nodes...
}; };
Parser(Engine *engine, const char *source, unsigned size, int variant); Parser(Engine *engine, const char *source, unsigned size, int variant);
@@ -700,7 +703,7 @@ case $rule_number: {
multiplicative_expression ::= multiplicative_expression STAR unary_expression ; multiplicative_expression ::= multiplicative_expression STAR unary_expression ;
/. /.
case $rule_number: { case $rule_number: {
// ast(1) = new ...AST(...); ast(1) = new BinaryExpression(AST::Kind_Multiply, sym(1).expression, sym(3).expression);
} break; } break;
./ ./

File diff suppressed because it is too large Load Diff

View File

@@ -48,7 +48,10 @@ public:
List<AST *> *ast_list; List<AST *> *ast_list;
Declaration *declaration; Declaration *declaration;
List<Declaration *> *declaration_list; List<Declaration *> *declaration_list;
Expression *expression;
List<Expression *> *expression_list;
TranslationUnit *translation_unit; TranslationUnit *translation_unit;
// ### ast nodes...
}; };
Parser(Engine *engine, const char *source, unsigned size, int variant); Parser(Engine *engine, const char *source, unsigned size, int variant);