From 025108a6920395ae536ff56dd02c6c7020ed9756 Mon Sep 17 00:00:00 2001 From: Valk Richard Li <48872266+ValKmjolnir@users.noreply.github.com> Date: Thu, 23 Jan 2020 17:41:55 +0800 Subject: [PATCH] update --- version2.0/nasal_enum.h | 4 ++-- version2.0/nasal_parse.h | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/version2.0/nasal_enum.h b/version2.0/nasal_enum.h index 5ac3121..7869a65 100644 --- a/version2.0/nasal_enum.h +++ b/version2.0/nasal_enum.h @@ -60,7 +60,7 @@ enum parse_token_type __call_function,__call_vector,__call_hash, __normal_statement_block, __definition, - __function,__ifelse + __function,__conditional }; void print_parse_token(int type) @@ -143,7 +143,7 @@ void print_parse_token(int type) case __normal_statement_block:context="block"; break; case __definition: context="definition"; break; case __function: context="function"; break; - case __ifelse: context="if-else"; break; + case __conditional: context="conditional"; break; default: context="undefined_token";break; } diff --git a/version2.0/nasal_parse.h b/version2.0/nasal_parse.h index 01ad83e..1345b84 100644 --- a/version2.0/nasal_parse.h +++ b/version2.0/nasal_parse.h @@ -1507,14 +1507,14 @@ abstract_syntax_tree nasal_parse::loop_expr() abstract_syntax_tree nasal_parse::conditional_expr() { - abstract_syntax_tree choose_main_node; + abstract_syntax_tree conditional_main_node; abstract_syntax_tree if_node; abstract_syntax_tree elsif_node; abstract_syntax_tree else_node; - choose_main_node.set_node_type(__ifelse); + conditional_main_node.set_node_type(__conditional); // get 'if' this->get_token(); - choose_main_node.set_node_line(this_token.line); + conditional_main_node.set_node_line(this_token.line); if_node.set_node_type(__if); if_node.set_node_line(this_token.line); this->get_token(); @@ -1531,6 +1531,7 @@ abstract_syntax_tree nasal_parse::conditional_expr() print_parse_error(lack_right_curve,this_token.line); } if_node.add_children(block_generate()); + conditional_main_node.add_children(if_node); // add statements this->get_token(); if(this_token.type==__elsif) @@ -1555,7 +1556,7 @@ abstract_syntax_tree nasal_parse::conditional_expr() print_parse_error(lack_right_curve,this_token.line,this_token.type); } elsif_node.add_children(block_generate()); - choose_main_node.add_children(elsif_node); + conditional_main_node.add_children(elsif_node); this->get_token();// get next 'elsif' if it exists } this->push_token(); @@ -1568,11 +1569,11 @@ abstract_syntax_tree nasal_parse::conditional_expr() else_node.set_node_line(this_token.type); else_node.set_node_type(__else); else_node.add_children(block_generate()); - choose_main_node.add_children(else_node); + conditional_main_node.add_children(else_node); } else this->push_token(); // get elsif or else - return choose_main_node; + return conditional_main_node; } #endif