| author | |
| committer | |
| log | 311fd6708398a81ceb17780974715f53c33f09d8 |
| tree | a04ae009693ff7afa12cb309b991b23cc3a4a019 |
| parent | 22421447fbaba77d9480e31a69f6b78448ea2b2f |
3 files changed, 3 insertions(+), 21 deletions(-)
src/codegen.cpp+2-7| ... | ... | @@ -292,9 +292,6 @@ static void analyze_node(CodeGen *g, AstNode *node) { |
| 292 | 292 | analyze_node(g, child); |
| 293 | 293 | } |
| 294 | 294 | break; |
| 295 | case NodeTypeStatementExpression: | |
| 296 | analyze_node(g, node->data.statement_expression.expression); | |
| 297 | break; | |
| 298 | 295 | case NodeTypeStatementReturn: |
| 299 | 296 | analyze_node(g, node->data.statement_return.expression); |
| 300 | 297 | break; |
| ... | ... | @@ -520,10 +517,9 @@ static void gen_block(CodeGen *g, AstNode *block_node) { |
| 520 | 517 | LLVMBuildRet(g->builder, value); |
| 521 | 518 | break; |
| 522 | 519 | } |
| 523 | case NodeTypeStatementExpression: | |
| 520 | case NodeTypeExpression: | |
| 524 | 521 | { |
| 525 | AstNode *expr_node = statement_node->data.statement_expression.expression; | |
| 526 | gen_expr(g, expr_node); | |
| 522 | gen_expr(g, statement_node); | |
| 527 | 523 | break; |
| 528 | 524 | } |
| 529 | 525 | case NodeTypeRoot: |
| ... | ... | @@ -533,7 +529,6 @@ static void gen_block(CodeGen *g, AstNode *block_node) { |
| 533 | 529 | case NodeTypeParamDecl: |
| 534 | 530 | case NodeTypeType: |
| 535 | 531 | case NodeTypeBlock: |
| 536 | case NodeTypeExpression: | |
| 537 | 532 | case NodeTypeFnCall: |
| 538 | 533 | case NodeTypeExternBlock: |
| 539 | 534 | case NodeTypeDirective: |
src/parser.cpp+1-8| ... | ... | @@ -41,8 +41,6 @@ const char *node_type_str(NodeType node_type) { |
| 41 | 41 | return "Type"; |
| 42 | 42 | case NodeTypeBlock: |
| 43 | 43 | return "Block"; |
| 44 | case NodeTypeStatementExpression: | |
| 45 | return "StatementExpression"; | |
| 46 | 44 | case NodeTypeStatementReturn: |
| 47 | 45 | return "StatementReturn"; |
| 48 | 46 | case NodeTypeExpression: |
| ... | ... | @@ -132,10 +130,6 @@ void ast_print(AstNode *node, int indent) { |
| 132 | 130 | fprintf(stderr, "ReturnStatement\n"); |
| 133 | 131 | ast_print(node->data.statement_return.expression, indent + 2); |
| 134 | 132 | break; |
| 135 | case NodeTypeStatementExpression: | |
| 136 | fprintf(stderr, "ExpressionStatement\n"); | |
| 137 | ast_print(node->data.statement_expression.expression, indent + 2); | |
| 138 | break; | |
| 139 | 133 | case NodeTypeExternBlock: |
| 140 | 134 | { |
| 141 | 135 | fprintf(stderr, "%s\n", node_type_str(node->type)); |
| ... | ... | @@ -466,8 +460,7 @@ static AstNode *ast_parse_statement(ParseContext *pc, int token_index, int *new_ |
| 466 | 460 | token->id == TokenIdKeywordUnreachable || |
| 467 | 461 | token->id == TokenIdNumberLiteral) |
| 468 | 462 | { |
| 469 | AstNode *node = ast_create_node(NodeTypeStatementExpression, token); | |
| 470 | node->data.statement_expression.expression = ast_parse_expression(pc, token_index, &token_index); | |
| 463 | AstNode *node = ast_parse_expression(pc, token_index, &token_index); | |
| 471 | 464 | |
| 472 | 465 | Token *semicolon = &pc->tokens->at(token_index); |
| 473 | 466 | token_index += 1; |
src/parser.hpp-6| ... | ... | @@ -27,7 +27,6 @@ enum NodeType { |
| 27 | 27 | NodeTypeFnCall, |
| 28 | 28 | NodeTypeExternBlock, |
| 29 | 29 | NodeTypeDirective, |
| 30 | NodeTypeStatementExpression, | |
| 31 | 30 | NodeTypeStatementReturn, |
| 32 | 31 | }; |
| 33 | 32 | |
| ... | ... | @@ -71,10 +70,6 @@ struct AstNodeBlock { |
| 71 | 70 | ZigList<AstNode *> statements; |
| 72 | 71 | }; |
| 73 | 72 | |
| 74 | struct AstNodeStatementExpression { | |
| 75 | AstNode *expression; | |
| 76 | }; | |
| 77 | ||
| 78 | 73 | struct AstNodeStatementReturn { |
| 79 | 74 | AstNode *expression; |
| 80 | 75 | }; |
| ... | ... | @@ -124,7 +119,6 @@ struct AstNode { |
| 124 | 119 | AstNodeType type; |
| 125 | 120 | AstNodeParamDecl param_decl; |
| 126 | 121 | AstNodeBlock block; |
| 127 | AstNodeStatementExpression statement_expression; | |
| 128 | 122 | AstNodeStatementReturn statement_return; |
| 129 | 123 | AstNodeExpression expression; |
| 130 | 124 | AstNodeFnCall fn_call; |