diff --git a/version0.11/bnf.bison b/version0.11/bnf.bison index d9fb280..b4c9ad0 100644 --- a/version0.11/bnf.bison +++ b/version0.11/bnf.bison @@ -17,20 +17,51 @@ datas :id,id |id,scalar |id,call + |id,function + |id,list + |id,hash |scalar,id |scalar,scalar |scalar,call + |scalar,function + |scalar,list + |scalar,hash |call,id |call,scalar |call,call + |call,function + |call,list + |call,hash + |function,id + |function,scalar + |function,call + |function,function + |function,list + |function,hash + |list,id + |list,scalar + |list,call + |list,function + |list,list + |list,hash + |hash,id + |hash,scalar + |hash,call + |hash,function + |hash,list + |hash,hash + |list,datas + |hash,datas |id,datas |scalar,datas |call,datas + |function,datas ; hash_member :id:id |id:scalar |id:call + |id:function ; hash_members :hash_member,hash_member @@ -41,6 +72,7 @@ list |[id] |[scalar] |[call] + |[function] |[datas] ; hash @@ -66,6 +98,15 @@ call_hash |call.id |call.call ; +call_function + :id() + |id(id) + |id(scalar) + |id(call) + |id(list) + |id(hash) + |id(function) + |id(datas) calculation :id operator id |id operator scalar @@ -86,6 +127,11 @@ calculation |+-scalar |+-call ; + + + + + definition :var id = id; |var id = scalar; @@ -93,6 +139,7 @@ definition |var id = list; |var id = hash; |var id = function + |var id; assignment :id = id; |id = scalar; @@ -120,4 +167,4 @@ statement |assignment |loop |choose - ; \ No newline at end of file + ; diff --git a/version0.11/nasal_parser.h b/version0.11/nasal_parser.h index 41c8914..3f658ca 100644 --- a/version0.11/nasal_parser.h +++ b/version0.11/nasal_parser.h @@ -2,6 +2,7 @@ #define __NASAL_PARSER_H__ #include +#include enum token_type { @@ -26,12 +27,10 @@ enum token_type __id,__dynamic_id, __return, __if,__elsif,__else, - __if_head,__elsif_head, __continue,__break,__for,__forindex,__foreach,__while, - __while_head, - __call_list_head,__call_func_head,__func_head, //end of operators & reserve words - __scalar,__data_list,__scalar_list, + __two_operator, + __scalar,__data_list, __number,__string,__char, __list, __hash, @@ -42,6 +41,7 @@ enum token_type __call_function, __call_list, __call_hash, + __call, __definition, __assignment,__pre_assignment, __calculation, @@ -59,1211 +59,103 @@ struct cmp_seq // must put in a reverse way cmp_seq par[]= { - {{__program,__statement}, __program}, - {{__program,__statements}, __program}, - - {{__elsif_choose,__elsif_choose}, __elsif_choose}, - {{__else_choose,__elsif_choose,__if_choose}, __choose}, - {{__else_choose,__if_choose}, __choose}, - {{__elsif_choose,__if_choose}, __choose}, - {{__if_choose}, __choose},// ? - - {{__statement,__right_curve,__pre_assignment,__statement,__left_curve,__for}, __loop}, - {{__right_brace,__statement,__left_brace,__right_curve,__pre_assignment,__statement,__left_curve,__for}, __loop}, - {{__right_brace,__statements,__left_brace,__right_curve,__pre_assignment,__statement,__left_curve,__for}, __loop}, - {{__right_brace,__left_brace,__right_curve,__pre_assignment,__statement,__left_curve,__for}, __loop}, - - {{__statement,__right_curve,__calculation,__while_head}, __loop}, - {{__right_brace,__statement,__left_brace,__right_curve,__calculation,__while_head}, __loop}, - {{__right_brace,__statements,__left_brace,__right_curve,__calculation,__while_head}, __loop}, - {{__right_brace,__left_brace,__right_curve,__calculation,__while_head}, __loop}, - - {{__statement,__right_curve,__id,__semi,__id,__left_curve,__forindex}, __loop}, - {{__right_brace,__statement,__left_brace,__right_curve,__id,__semi,__id,__left_curve,__forindex}, __loop}, - {{__right_brace,__statements,__left_brace,__right_curve,__id,__semi,__id,__left_curve,__forindex}, __loop}, - {{__right_brace,__left_brace,__right_curve,__id,__semi,__id,__left_curve,__forindex}, __loop}, - - {{__statement,__right_curve,__id,__semi,__id,__left_curve,__foreach}, __loop}, - {{__right_brace,__statement,__left_brace,__right_curve,__id,__semi,__id,__left_curve,__foreach}, __loop}, - {{__right_brace,__statements,__left_brace,__right_curve,__id,__semi,__id,__left_curve,__foreach}, __loop}, - {{__right_brace,__left_brace,__right_curve,__id,__semi,__id,__left_curve,__foreach}, __loop}, + {{__program,__statement}, __program}, - {{__statement,__right_curve,__calculation,__if_head}, __if_choose}, - {{__right_brace,__statement,__left_brace,__right_curve,__calculation,__if_head}, __if_choose}, - {{__right_brace,__statements,__left_brace,__right_curve,__calculation,__if_head}, __if_choose}, - {{__right_brace,__left_brace,__right_curve,__calculation,__if_head}, __if_choose}, - {{__statement,__right_curve,__calculation,__elsif_head}, __elsif_choose}, - {{__right_brace,__statement,__left_brace,__right_curve,__calculation,__elsif_head}, __elsif_choose}, - {{__right_brace,__statements,__left_brace,__right_curve,__calculation,__elsif_head}, __elsif_choose}, - {{__right_brace,__left_brace,__right_curve,__calculation,__elsif_head}, __elsif_choose}, - {{__statement,__right_curve,__calculation,__if_head,__else}, __elsif_choose}, - {{__right_brace,__statement,__left_brace,__right_curve,__calculation,__if_head,__else}, __elsif_choose}, - {{__right_brace,__statements,__left_brace,__right_curve,__calculation,__if_head,__else}, __elsif_choose}, - {{__right_brace,__left_brace,__right_curve,__calculation,__if_head,__else}, __elsif_choose}, - {{__statement,__else}, __else_choose}, - {{__right_brace,__statement,__left_brace,__else}, __else_choose}, - {{__right_brace,__statements,__left_brace,__else}, __else_choose}, - {{__right_brace,__left_brace,__else}, __else_choose}, - - {{__semi,__semi}, __semi}, - {{__semi,__right_brace}, __right_brace}, - - {{__id,__dot,__id}, __call_hash}, - {{__id,__dot,__call_hash}, __call_hash}, - {{__id,__dot,__call_list}, __call_hash}, - {{__id,__dot,__call_function}, __call_hash}, - - {{__call_hash,__dot,__id}, __call_hash}, - {{__call_hash,__dot,__call_hash}, __call_hash}, - {{__call_hash,__dot,__call_list}, __call_hash}, - {{__call_hash,__dot,__call_function}, __call_hash}, - - {{__call_function,__dot,__id}, __call_hash}, - {{__call_function,__dot,__call_hash}, __call_hash}, - {{__call_function,__dot,__call_list}, __call_hash}, - {{__call_function,__dot,__call_function}, __call_hash}, - - {{__call_list,__dot,__id}, __call_hash}, - {{__call_list,__dot,__call_hash}, __call_hash}, - {{__call_list,__dot,__call_list}, __call_hash}, - {{__call_list,__dot,__call_function}, __call_hash}, - - {{__right_brace,__call_function,__semi}, __right_brace}, - {{__semi,__call_function,__semi}, __semi}, - - {{__right_curve,__data_list,__call_func_head}, __call_function}, - {{__right_curve,__scalar_list,__call_func_head}, __call_function}, - {{__right_curve,__id,__call_func_head}, __call_function}, - {{__right_curve,__call_hash,__call_func_head}, __call_function}, - {{__right_curve,__call_list,__call_func_head}, __call_function}, - {{__right_curve,__number,__call_func_head}, __call_function}, - {{__right_curve,__function,__call_func_head}, __call_function}, - {{__right_curve,__string,__call_func_head}, __call_function}, - {{__right_curve,__char,__call_func_head}, __call_function}, - {{__right_curve,__calculation,__call_func_head}, __call_function}, - {{__right_curve,__call_func_head}, __call_function}, - - {{__right_brace,__left_brace,__right_curve,__data_list,__func_head}, __function}, - {{__right_brace,__left_brace,__right_curve,__id,__func_head}, __function}, - {{__right_brace,__left_brace,__right_curve,__dynamic_id,__func_head}, __function}, - {{__right_brace,__left_brace,__right_curve,__func_head}, __function}, - - {{__right_brace,__statement,__left_brace,__right_curve,__data_list,__func_head}, __function}, - {{__right_brace,__statement,__left_brace,__right_curve,__id,__func_head}, __function}, - {{__right_brace,__statement,__left_brace,__right_curve,__dynamic_id,__func_head}, __function}, - {{__right_brace,__statement,__left_brace,__right_curve,__func_head}, __function}, - - {{__right_brace,__statements,__left_brace,__right_curve,__data_list,__func_head}, __function}, - {{__right_brace,__statements,__left_brace,__right_curve,__id,__func_head}, __function}, - {{__right_brace,__statements,__left_brace,__right_curve,__dynamic_id,__func_head}, __function}, - {{__right_brace,__statements,__left_brace,__right_curve,__func_head}, __function}, - - {{__right_bracket,__number,__call_list_head}, __call_list}, - {{__right_bracket,__call_function,__call_list_head}, __call_list}, - {{__right_bracket,__call_list,__call_list_head}, __call_list}, - {{__right_bracket,__call_hash,__call_list_head}, __call_list}, - {{__list,__call_function}, __call_list}, - - {{__id,__comma,__id}, __data_list}, - {{__data_list,__comma,__id}, __data_list}, - - {{__id,__comma,__number}, __scalar_list}, - {{__id,__comma,__string}, __scalar_list}, - {{__id,__comma,__char}, __scalar_list}, - {{__id,__comma,__id}, __scalar_list}, - {{__id,__comma,__call_list}, __scalar_list}, - {{__id,__comma,__call_hash}, __scalar_list}, - {{__id,__comma,__call_function}, __scalar_list}, - {{__id,__comma,__function}, __scalar_list}, - {{__id,__comma,__calculation}, __scalar_list}, - - {{__number,__comma,__number}, __scalar_list}, - {{__number,__comma,__string}, __scalar_list}, - {{__number,__comma,__char}, __scalar_list}, - {{__number,__comma,__id}, __scalar_list}, - {{__number,__comma,__call_list}, __scalar_list}, - {{__number,__comma,__call_hash}, __scalar_list}, - {{__number,__comma,__call_function}, __scalar_list}, - {{__number,__comma,__function}, __scalar_list}, - {{__number,__comma,__calculation}, __scalar_list}, - - {{__string,__comma,__number}, __scalar_list}, - {{__string,__comma,__string}, __scalar_list}, - {{__string,__comma,__char}, __scalar_list}, - {{__string,__comma,__id}, __scalar_list}, - {{__string,__comma,__call_list}, __scalar_list}, - {{__string,__comma,__call_hash}, __scalar_list}, - {{__string,__comma,__call_function}, __scalar_list}, - {{__string,__comma,__function}, __scalar_list}, - {{__string,__comma,__calculation}, __scalar_list}, - {{__char,__comma,__number}, __scalar_list}, - {{__char,__comma,__string}, __scalar_list}, - {{__char,__comma,__char}, __scalar_list}, - {{__char,__comma,__id}, __scalar_list}, - {{__char,__comma,__call_list}, __scalar_list}, - {{__char,__comma,__call_hash}, __scalar_list}, - {{__char,__comma,__call_function}, __scalar_list}, - {{__char,__comma,__function}, __scalar_list}, - {{__char,__comma,__calculation}, __scalar_list}, - - {{__call_list,__comma,__number}, __scalar_list}, - {{__call_list,__comma,__string}, __scalar_list}, - {{__call_list,__comma,__char}, __scalar_list}, - {{__call_list,__comma,__id}, __scalar_list}, - {{__call_list,__comma,__call_list}, __scalar_list}, - {{__call_list,__comma,__call_hash}, __scalar_list}, - {{__call_list,__comma,__call_function}, __scalar_list}, - {{__call_list,__comma,__function}, __scalar_list}, - {{__call_list,__comma,__calculation}, __scalar_list}, - - {{__call_hash,__comma,__number}, __scalar_list}, - {{__call_hash,__comma,__string}, __scalar_list}, - {{__call_hash,__comma,__char}, __scalar_list}, - {{__call_hash,__comma,__id}, __scalar_list}, - {{__call_hash,__comma,__call_list}, __scalar_list}, - {{__call_hash,__comma,__call_hash}, __scalar_list}, - {{__call_hash,__comma,__call_function}, __scalar_list}, - {{__call_hash,__comma,__function}, __scalar_list}, - {{__call_hash,__comma,__calculation}, __scalar_list}, - - {{__call_function,__comma,__number}, __scalar_list}, - {{__call_function,__comma,__string}, __scalar_list}, - {{__call_function,__comma,__char}, __scalar_list}, - {{__call_function,__comma,__id}, __scalar_list}, - {{__call_function,__comma,__call_list}, __scalar_list}, - {{__call_function,__comma,__call_hash}, __scalar_list}, - {{__call_function,__comma,__call_function}, __scalar_list}, - {{__call_function,__comma,__function}, __scalar_list}, - {{__call_function,__comma,__calculation}, __scalar_list}, - - {{__function,__comma,__number}, __scalar_list}, - {{__function,__comma,__string}, __scalar_list}, - {{__function,__comma,__char}, __scalar_list}, - {{__function,__comma,__id}, __scalar_list}, - {{__function,__comma,__call_list}, __scalar_list}, - {{__function,__comma,__call_hash}, __scalar_list}, - {{__function,__comma,__call_function}, __scalar_list}, - {{__function,__comma,__function}, __scalar_list}, - {{__function,__comma,__calculation}, __scalar_list}, - - {{__calculation,__comma,__number}, __scalar_list}, - {{__calculation,__comma,__string}, __scalar_list}, - {{__calculation,__comma,__char}, __scalar_list}, - {{__calculation,__comma,__id}, __scalar_list}, - {{__calculation,__comma,__call_list}, __scalar_list}, - {{__calculation,__comma,__call_hash}, __scalar_list}, - {{__calculation,__comma,__call_function}, __scalar_list}, - {{__calculation,__comma,__function}, __scalar_list}, - {{__calculation,__comma,__calculation}, __scalar_list}, - - {{__scalar_list,__comma,__number}, __scalar_list}, - {{__scalar_list,__comma,__string}, __scalar_list}, - {{__scalar_list,__comma,__char}, __scalar_list}, - {{__scalar_list,__comma,__id}, __scalar_list}, - {{__scalar_list,__comma,__call_list}, __scalar_list}, - {{__scalar_list,__comma,__call_hash}, __scalar_list}, - {{__scalar_list,__comma,__call_function}, __scalar_list}, - {{__scalar_list,__comma,__function}, __scalar_list}, - {{__scalar_list,__comma,__calculation}, __scalar_list}, - - {{__data_list,__comma,__number}, __scalar_list}, - {{__data_list,__comma,__string}, __scalar_list}, - {{__data_list,__comma,__char}, __scalar_list}, - {{__data_list,__comma,__call_list}, __scalar_list}, - {{__data_list,__comma,__call_hash}, __scalar_list}, - {{__data_list,__comma,__call_function}, __scalar_list}, - {{__data_list,__comma,__function}, __scalar_list}, - {{__data_list,__comma,__calculation}, __scalar_list}, - - {{__right_bracket,__scalar_list,__left_bracket}, __list}, - {{__right_bracket,__number,__left_bracket}, __list}, - {{__right_bracket,__string,__left_bracket}, __list}, - {{__right_bracket,__char,__left_bracket}, __list}, - - {{__number,__colon,__id}, __hash_member}, - {{__string,__colon,__id}, __hash_member}, - {{__char,__colon,__id}, __hash_member}, - {{__hash_member,__comma,__hash_member}, __hash_member_list}, - {{__hash_member_list,__comma,__hash_member}, __hash_member_list}, - - {{__right_brace,__hash_member,__left_brace}, __hash}, - {{__right_brace,__hash_member_list,__left_brace}, __hash}, - - {{__id,__add_operator,__id}, __calculation}, - {{__id,__sub_operator,__id}, __calculation}, - {{__id,__mul_operator,__id}, __calculation}, - {{__id,__div_operator,__id}, __calculation}, - {{__id,__link_operator,__id}, __calculation}, - {{__id,__cmp_equal,__id}, __calculation}, - {{__id,__cmp_not_equal,__id}, __calculation}, - {{__id,__cmp_less,__id}, __calculation}, - {{__id,__cmp_less_or_equal,__id}, __calculation}, - {{__id,__cmp_more,__id}, __calculation}, - {{__id,__cmp_more_or_equal,__id}, __calculation}, - {{__id,__and_operator,__id}, __calculation}, - {{__id,__or_operator,__id}, __calculation}, - {{__id,__add_operator,__number}, __calculation}, - {{__id,__sub_operator,__number}, __calculation}, - {{__id,__mul_operator,__number}, __calculation}, - {{__id,__div_operator,__number}, __calculation}, - {{__id,__link_operator,__number}, __calculation}, - {{__id,__cmp_equal,__number}, __calculation}, - {{__id,__cmp_not_equal,__number}, __calculation}, - {{__id,__cmp_less,__number}, __calculation}, - {{__id,__cmp_less_or_equal,__number}, __calculation}, - {{__id,__cmp_more,__number}, __calculation}, - {{__id,__cmp_more_or_equal,__number}, __calculation}, - {{__id,__and_operator,__number}, __calculation}, - {{__id,__or_operator,__number}, __calculation}, - {{__id,__add_operator,__string}, __calculation}, - {{__id,__sub_operator,__string}, __calculation}, - {{__id,__mul_operator,__string}, __calculation}, - {{__id,__div_operator,__string}, __calculation}, - {{__id,__link_operator,__string}, __calculation}, - {{__id,__cmp_equal,__string}, __calculation}, - {{__id,__cmp_not_equal,__string}, __calculation}, - {{__id,__cmp_less,__string}, __calculation}, - {{__id,__cmp_less_or_equal,__string}, __calculation}, - {{__id,__cmp_more,__string}, __calculation}, - {{__id,__cmp_more_or_equal,__string}, __calculation}, - {{__id,__and_operator,__string}, __calculation}, - {{__id,__or_operator,__string}, __calculation}, - {{__id,__add_operator,__char}, __calculation}, - {{__id,__sub_operator,__char}, __calculation}, - {{__id,__mul_operator,__char}, __calculation}, - {{__id,__div_operator,__char}, __calculation}, - {{__id,__link_operator,__char}, __calculation}, - {{__id,__cmp_equal,__char}, __calculation}, - {{__id,__cmp_not_equal,__char}, __calculation}, - {{__id,__cmp_less,__char}, __calculation}, - {{__id,__cmp_less_or_equal,__char}, __calculation}, - {{__id,__cmp_more,__char}, __calculation}, - {{__id,__cmp_more_or_equal,__char}, __calculation}, - {{__id,__and_operator,__char}, __calculation}, - {{__id,__or_operator,__char}, __calculation}, - {{__id,__add_operator,__call_list}, __calculation}, - {{__id,__sub_operator,__call_list}, __calculation}, - {{__id,__mul_operator,__call_list}, __calculation}, - {{__id,__div_operator,__call_list}, __calculation}, - {{__id,__link_operator,__call_list}, __calculation}, - {{__id,__cmp_equal,__call_list}, __calculation}, - {{__id,__cmp_not_equal,__call_list}, __calculation}, - {{__id,__cmp_less,__call_list}, __calculation}, - {{__id,__cmp_less_or_equal,__call_list}, __calculation}, - {{__id,__cmp_more,__call_list}, __calculation}, - {{__id,__cmp_more_or_equal,__call_list}, __calculation}, - {{__id,__and_operator,__call_list}, __calculation}, - {{__id,__or_operator,__call_list}, __calculation}, - {{__id,__add_operator,__call_hash}, __calculation}, - {{__id,__sub_operator,__call_hash}, __calculation}, - {{__id,__mul_operator,__call_hash}, __calculation}, - {{__id,__div_operator,__call_hash}, __calculation}, - {{__id,__link_operator,__call_hash}, __calculation}, - {{__id,__cmp_equal,__call_hash}, __calculation}, - {{__id,__cmp_not_equal,__call_hash}, __calculation}, - {{__id,__cmp_less,__call_hash}, __calculation}, - {{__id,__cmp_less_or_equal,__call_hash}, __calculation}, - {{__id,__cmp_more,__call_hash}, __calculation}, - {{__id,__cmp_more_or_equal,__call_hash}, __calculation}, - {{__id,__and_operator,__call_hash}, __calculation}, - {{__id,__or_operator,__call_hash}, __calculation}, - {{__id,__add_operator,__calculation}, __calculation}, - {{__id,__sub_operator,__calculation}, __calculation}, - {{__id,__mul_operator,__calculation}, __calculation}, - {{__id,__div_operator,__calculation}, __calculation}, - {{__id,__link_operator,__calculation}, __calculation}, - {{__id,__cmp_equal,__calculation}, __calculation}, - {{__id,__cmp_not_equal,__calculation}, __calculation}, - {{__id,__cmp_less,__calculation}, __calculation}, - {{__id,__cmp_less_or_equal,__calculation}, __calculation}, - {{__id,__cmp_more,__calculation}, __calculation}, - {{__id,__cmp_more_or_equal,__calculation}, __calculation}, - {{__id,__and_operator,__calculation}, __calculation}, - {{__id,__or_operator,__calculation}, __calculation}, - {{__id,__add_operator,__call_function}, __calculation}, - {{__id,__sub_operator,__call_function}, __calculation}, - {{__id,__mul_operator,__call_function}, __calculation}, - {{__id,__div_operator,__call_function}, __calculation}, - {{__id,__link_operator,__call_function}, __calculation}, - {{__id,__cmp_equal,__call_function}, __calculation}, - {{__id,__cmp_not_equal,__call_function}, __calculation}, - {{__id,__cmp_less,__call_function}, __calculation}, - {{__id,__cmp_less_or_equal,__call_function}, __calculation}, - {{__id,__cmp_more,__call_function}, __calculation}, - {{__id,__cmp_more_or_equal,__call_function}, __calculation}, - {{__id,__and_operator,__call_function}, __calculation}, - {{__id,__or_operator,__call_function}, __calculation}, - - {{__number,__add_operator,__id}, __calculation}, - {{__number,__sub_operator,__id}, __calculation}, - {{__number,__mul_operator,__id}, __calculation}, - {{__number,__div_operator,__id}, __calculation}, - {{__number,__link_operator,__id}, __calculation}, - {{__number,__cmp_equal,__id}, __calculation}, - {{__number,__cmp_not_equal,__id}, __calculation}, - {{__number,__cmp_less,__id}, __calculation}, - {{__number,__cmp_less_or_equal,__id}, __calculation}, - {{__number,__cmp_more,__id}, __calculation}, - {{__number,__cmp_more_or_equal,__id}, __calculation}, - {{__number,__and_operator,__id}, __calculation}, - {{__number,__or_operator,__id}, __calculation}, - {{__number,__add_operator,__number}, __calculation}, - {{__number,__sub_operator,__number}, __calculation}, - {{__number,__mul_operator,__number}, __calculation}, - {{__number,__div_operator,__number}, __calculation}, - {{__number,__link_operator,__number}, __calculation}, - {{__number,__cmp_equal,__number}, __calculation}, - {{__number,__cmp_not_equal,__number}, __calculation}, - {{__number,__cmp_less,__number}, __calculation}, - {{__number,__cmp_less_or_equal,__number}, __calculation}, - {{__number,__cmp_more,__number}, __calculation}, - {{__number,__cmp_more_or_equal,__number}, __calculation}, - {{__number,__and_operator,__number}, __calculation}, - {{__number,__or_operator,__number}, __calculation}, - {{__number,__add_operator,__string}, __calculation}, - {{__number,__sub_operator,__string}, __calculation}, - {{__number,__mul_operator,__string}, __calculation}, - {{__number,__div_operator,__string}, __calculation}, - {{__number,__link_operator,__string}, __calculation}, - {{__number,__cmp_equal,__string}, __calculation}, - {{__number,__cmp_not_equal,__string}, __calculation}, - {{__number,__cmp_less,__string}, __calculation}, - {{__number,__cmp_less_or_equal,__string}, __calculation}, - {{__number,__cmp_more,__string}, __calculation}, - {{__number,__cmp_more_or_equal,__string}, __calculation}, - {{__number,__and_operator,__string}, __calculation}, - {{__number,__or_operator,__string}, __calculation}, - {{__number,__add_operator,__char}, __calculation}, - {{__number,__sub_operator,__char}, __calculation}, - {{__number,__mul_operator,__char}, __calculation}, - {{__number,__div_operator,__char}, __calculation}, - {{__number,__link_operator,__char}, __calculation}, - {{__number,__cmp_equal,__char}, __calculation}, - {{__number,__cmp_not_equal,__char}, __calculation}, - {{__number,__cmp_less,__char}, __calculation}, - {{__number,__cmp_less_or_equal,__char}, __calculation}, - {{__number,__cmp_more,__char}, __calculation}, - {{__number,__cmp_more_or_equal,__char}, __calculation}, - {{__number,__and_operator,__char}, __calculation}, - {{__number,__or_operator,__char}, __calculation}, - {{__number,__add_operator,__call_list}, __calculation}, - {{__number,__sub_operator,__call_list}, __calculation}, - {{__number,__mul_operator,__call_list}, __calculation}, - {{__number,__div_operator,__call_list}, __calculation}, - {{__number,__link_operator,__call_list}, __calculation}, - {{__number,__cmp_equal,__call_list}, __calculation}, - {{__number,__cmp_not_equal,__call_list}, __calculation}, - {{__number,__cmp_less,__call_list}, __calculation}, - {{__number,__cmp_less_or_equal,__call_list}, __calculation}, - {{__number,__cmp_more,__call_list}, __calculation}, - {{__number,__cmp_more_or_equal,__call_list}, __calculation}, - {{__number,__and_operator,__call_list}, __calculation}, - {{__number,__or_operator,__call_list}, __calculation}, - {{__number,__add_operator,__call_hash}, __calculation}, - {{__number,__sub_operator,__call_hash}, __calculation}, - {{__number,__mul_operator,__call_hash}, __calculation}, - {{__number,__div_operator,__call_hash}, __calculation}, - {{__number,__link_operator,__call_hash}, __calculation}, - {{__number,__cmp_equal,__call_hash}, __calculation}, - {{__number,__cmp_not_equal,__call_hash}, __calculation}, - {{__number,__cmp_less,__call_hash}, __calculation}, - {{__number,__cmp_less_or_equal,__call_hash}, __calculation}, - {{__number,__cmp_more,__call_hash}, __calculation}, - {{__number,__cmp_more_or_equal,__call_hash}, __calculation}, - {{__number,__and_operator,__call_hash}, __calculation}, - {{__number,__or_operator,__call_hash}, __calculation}, - {{__number,__add_operator,__calculation}, __calculation}, - {{__number,__sub_operator,__calculation}, __calculation}, - {{__number,__mul_operator,__calculation}, __calculation}, - {{__number,__div_operator,__calculation}, __calculation}, - {{__number,__link_operator,__calculation}, __calculation}, - {{__number,__cmp_equal,__calculation}, __calculation}, - {{__number,__cmp_not_equal,__calculation}, __calculation}, - {{__number,__cmp_less,__calculation}, __calculation}, - {{__number,__cmp_less_or_equal,__calculation}, __calculation}, - {{__number,__cmp_more,__calculation}, __calculation}, - {{__number,__cmp_more_or_equal,__calculation}, __calculation}, - {{__number,__and_operator,__calculation}, __calculation}, - {{__number,__or_operator,__calculation}, __calculation}, - {{__number,__add_operator,__call_function}, __calculation}, - {{__number,__sub_operator,__call_function}, __calculation}, - {{__number,__mul_operator,__call_function}, __calculation}, - {{__number,__div_operator,__call_function}, __calculation}, - {{__number,__link_operator,__call_function}, __calculation}, - {{__number,__cmp_equal,__call_function}, __calculation}, - {{__number,__cmp_not_equal,__call_function}, __calculation}, - {{__number,__cmp_less,__call_function}, __calculation}, - {{__number,__cmp_less_or_equal,__call_function}, __calculation}, - {{__number,__cmp_more,__call_function}, __calculation}, - {{__number,__cmp_more_or_equal,__call_function}, __calculation}, - {{__number,__and_operator,__call_function}, __calculation}, - {{__number,__or_operator,__call_function}, __calculation}, - - {{__string,__add_operator,__id}, __calculation}, - {{__string,__sub_operator,__id}, __calculation}, - {{__string,__mul_operator,__id}, __calculation}, - {{__string,__div_operator,__id}, __calculation}, - {{__string,__link_operator,__id}, __calculation}, - {{__string,__cmp_equal,__id}, __calculation}, - {{__string,__cmp_not_equal,__id}, __calculation}, - {{__string,__cmp_less,__id}, __calculation}, - {{__string,__cmp_less_or_equal,__id}, __calculation}, - {{__string,__cmp_more,__id}, __calculation}, - {{__string,__cmp_more_or_equal,__id}, __calculation}, - {{__string,__and_operator,__id}, __calculation}, - {{__string,__or_operator,__id}, __calculation}, - {{__string,__add_operator,__number}, __calculation}, - {{__string,__sub_operator,__number}, __calculation}, - {{__string,__mul_operator,__number}, __calculation}, - {{__string,__div_operator,__number}, __calculation}, - {{__string,__link_operator,__number}, __calculation}, - {{__string,__cmp_equal,__number}, __calculation}, - {{__string,__cmp_not_equal,__number}, __calculation}, - {{__string,__cmp_less,__number}, __calculation}, - {{__string,__cmp_less_or_equal,__number}, __calculation}, - {{__string,__cmp_more,__number}, __calculation}, - {{__string,__cmp_more_or_equal,__number}, __calculation}, - {{__string,__and_operator,__number}, __calculation}, - {{__string,__or_operator,__number}, __calculation}, - {{__string,__add_operator,__string}, __calculation}, - {{__string,__sub_operator,__string}, __calculation}, - {{__string,__mul_operator,__string}, __calculation}, - {{__string,__div_operator,__string}, __calculation}, - {{__string,__link_operator,__string}, __calculation}, - {{__string,__cmp_equal,__string}, __calculation}, - {{__string,__cmp_not_equal,__string}, __calculation}, - {{__string,__cmp_less,__string}, __calculation}, - {{__string,__cmp_less_or_equal,__string}, __calculation}, - {{__string,__cmp_more,__string}, __calculation}, - {{__string,__cmp_more_or_equal,__string}, __calculation}, - {{__string,__and_operator,__string}, __calculation}, - {{__string,__or_operator,__string}, __calculation}, - {{__string,__add_operator,__char}, __calculation}, - {{__string,__sub_operator,__char}, __calculation}, - {{__string,__mul_operator,__char}, __calculation}, - {{__string,__div_operator,__char}, __calculation}, - {{__string,__link_operator,__char}, __calculation}, - {{__string,__cmp_equal,__char}, __calculation}, - {{__string,__cmp_not_equal,__char}, __calculation}, - {{__string,__cmp_less,__char}, __calculation}, - {{__string,__cmp_less_or_equal,__char}, __calculation}, - {{__string,__cmp_more,__char}, __calculation}, - {{__string,__cmp_more_or_equal,__char}, __calculation}, - {{__string,__and_operator,__char}, __calculation}, - {{__string,__or_operator,__char}, __calculation}, - {{__string,__add_operator,__call_list}, __calculation}, - {{__string,__sub_operator,__call_list}, __calculation}, - {{__string,__mul_operator,__call_list}, __calculation}, - {{__string,__div_operator,__call_list}, __calculation}, - {{__string,__link_operator,__call_list}, __calculation}, - {{__string,__cmp_equal,__call_list}, __calculation}, - {{__string,__cmp_not_equal,__call_list}, __calculation}, - {{__string,__cmp_less,__call_list}, __calculation}, - {{__string,__cmp_less_or_equal,__call_list}, __calculation}, - {{__string,__cmp_more,__call_list}, __calculation}, - {{__string,__cmp_more_or_equal,__call_list}, __calculation}, - {{__string,__and_operator,__call_list}, __calculation}, - {{__string,__or_operator,__call_list}, __calculation}, - {{__string,__add_operator,__call_hash}, __calculation}, - {{__string,__sub_operator,__call_hash}, __calculation}, - {{__string,__mul_operator,__call_hash}, __calculation}, - {{__string,__div_operator,__call_hash}, __calculation}, - {{__string,__link_operator,__call_hash}, __calculation}, - {{__string,__cmp_equal,__call_hash}, __calculation}, - {{__string,__cmp_not_equal,__call_hash}, __calculation}, - {{__string,__cmp_less,__call_hash}, __calculation}, - {{__string,__cmp_less_or_equal,__call_hash}, __calculation}, - {{__string,__cmp_more,__call_hash}, __calculation}, - {{__string,__cmp_more_or_equal,__call_hash}, __calculation}, - {{__string,__and_operator,__call_hash}, __calculation}, - {{__string,__or_operator,__call_hash}, __calculation}, - {{__string,__add_operator,__calculation}, __calculation}, - {{__string,__sub_operator,__calculation}, __calculation}, - {{__string,__mul_operator,__calculation}, __calculation}, - {{__string,__div_operator,__calculation}, __calculation}, - {{__string,__link_operator,__calculation}, __calculation}, - {{__string,__cmp_equal,__calculation}, __calculation}, - {{__string,__cmp_not_equal,__calculation}, __calculation}, - {{__string,__cmp_less,__calculation}, __calculation}, - {{__string,__cmp_less_or_equal,__calculation}, __calculation}, - {{__string,__cmp_more,__calculation}, __calculation}, - {{__string,__cmp_more_or_equal,__calculation}, __calculation}, - {{__string,__and_operator,__calculation}, __calculation}, - {{__string,__or_operator,__calculation}, __calculation}, - {{__string,__add_operator,__call_function}, __calculation}, - {{__string,__sub_operator,__call_function}, __calculation}, - {{__string,__mul_operator,__call_function}, __calculation}, - {{__string,__div_operator,__call_function}, __calculation}, - {{__string,__link_operator,__call_function}, __calculation}, - {{__string,__cmp_equal,__call_function}, __calculation}, - {{__string,__cmp_not_equal,__call_function}, __calculation}, - {{__string,__cmp_less,__call_function}, __calculation}, - {{__string,__cmp_less_or_equal,__call_function}, __calculation}, - {{__string,__cmp_more,__call_function}, __calculation}, - {{__string,__cmp_more_or_equal,__call_function}, __calculation}, - {{__string,__and_operator,__call_function}, __calculation}, - {{__string,__or_operator,__call_function}, __calculation}, - - {{__char,__add_operator,__id}, __calculation}, - {{__char,__sub_operator,__id}, __calculation}, - {{__char,__mul_operator,__id}, __calculation}, - {{__char,__div_operator,__id}, __calculation}, - {{__char,__link_operator,__id}, __calculation}, - {{__char,__cmp_equal,__id}, __calculation}, - {{__char,__cmp_not_equal,__id}, __calculation}, - {{__char,__cmp_less,__id}, __calculation}, - {{__char,__cmp_less_or_equal,__id}, __calculation}, - {{__char,__cmp_more,__id}, __calculation}, - {{__char,__cmp_more_or_equal,__id}, __calculation}, - {{__char,__and_operator,__id}, __calculation}, - {{__char,__or_operator,__id}, __calculation}, - {{__char,__add_operator,__number}, __calculation}, - {{__char,__sub_operator,__number}, __calculation}, - {{__char,__mul_operator,__number}, __calculation}, - {{__char,__div_operator,__number}, __calculation}, - {{__char,__link_operator,__number}, __calculation}, - {{__char,__cmp_equal,__number}, __calculation}, - {{__char,__cmp_not_equal,__number}, __calculation}, - {{__char,__cmp_less,__number}, __calculation}, - {{__char,__cmp_less_or_equal,__number}, __calculation}, - {{__char,__cmp_more,__number}, __calculation}, - {{__char,__cmp_more_or_equal,__number}, __calculation}, - {{__char,__and_operator,__number}, __calculation}, - {{__char,__or_operator,__number}, __calculation}, - {{__char,__add_operator,__string}, __calculation}, - {{__char,__sub_operator,__string}, __calculation}, - {{__char,__mul_operator,__string}, __calculation}, - {{__char,__div_operator,__string}, __calculation}, - {{__char,__link_operator,__string}, __calculation}, - {{__char,__cmp_equal,__string}, __calculation}, - {{__char,__cmp_not_equal,__string}, __calculation}, - {{__char,__cmp_less,__string}, __calculation}, - {{__char,__cmp_less_or_equal,__string}, __calculation}, - {{__char,__cmp_more,__string}, __calculation}, - {{__char,__cmp_more_or_equal,__string}, __calculation}, - {{__char,__and_operator,__string}, __calculation}, - {{__char,__or_operator,__string}, __calculation}, - {{__char,__add_operator,__char}, __calculation}, - {{__char,__sub_operator,__char}, __calculation}, - {{__char,__mul_operator,__char}, __calculation}, - {{__char,__div_operator,__char}, __calculation}, - {{__char,__link_operator,__char}, __calculation}, - {{__char,__cmp_equal,__char}, __calculation}, - {{__char,__cmp_not_equal,__char}, __calculation}, - {{__char,__cmp_less,__char}, __calculation}, - {{__char,__cmp_less_or_equal,__char}, __calculation}, - {{__char,__cmp_more,__char}, __calculation}, - {{__char,__cmp_more_or_equal,__char}, __calculation}, - {{__char,__and_operator,__char}, __calculation}, - {{__char,__or_operator,__char}, __calculation}, - {{__char,__add_operator,__call_list}, __calculation}, - {{__char,__sub_operator,__call_list}, __calculation}, - {{__char,__mul_operator,__call_list}, __calculation}, - {{__char,__div_operator,__call_list}, __calculation}, - {{__char,__link_operator,__call_list}, __calculation}, - {{__char,__cmp_equal,__call_list}, __calculation}, - {{__char,__cmp_not_equal,__call_list}, __calculation}, - {{__char,__cmp_less,__call_list}, __calculation}, - {{__char,__cmp_less_or_equal,__call_list}, __calculation}, - {{__char,__cmp_more,__call_list}, __calculation}, - {{__char,__cmp_more_or_equal,__call_list}, __calculation}, - {{__char,__and_operator,__call_list}, __calculation}, - {{__char,__or_operator,__call_list}, __calculation}, - {{__char,__add_operator,__call_hash}, __calculation}, - {{__char,__sub_operator,__call_hash}, __calculation}, - {{__char,__mul_operator,__call_hash}, __calculation}, - {{__char,__div_operator,__call_hash}, __calculation}, - {{__char,__link_operator,__call_hash}, __calculation}, - {{__char,__cmp_equal,__call_hash}, __calculation}, - {{__char,__cmp_not_equal,__call_hash}, __calculation}, - {{__char,__cmp_less,__call_hash}, __calculation}, - {{__char,__cmp_less_or_equal,__call_hash}, __calculation}, - {{__char,__cmp_more,__call_hash}, __calculation}, - {{__char,__cmp_more_or_equal,__call_hash}, __calculation}, - {{__char,__and_operator,__call_hash}, __calculation}, - {{__char,__or_operator,__call_hash}, __calculation}, - {{__char,__add_operator,__calculation}, __calculation}, - {{__char,__sub_operator,__calculation}, __calculation}, - {{__char,__mul_operator,__calculation}, __calculation}, - {{__char,__div_operator,__calculation}, __calculation}, - {{__char,__link_operator,__calculation}, __calculation}, - {{__char,__cmp_equal,__calculation}, __calculation}, - {{__char,__cmp_not_equal,__calculation}, __calculation}, - {{__char,__cmp_less,__calculation}, __calculation}, - {{__char,__cmp_less_or_equal,__calculation}, __calculation}, - {{__char,__cmp_more,__calculation}, __calculation}, - {{__char,__cmp_more_or_equal,__calculation}, __calculation}, - {{__char,__and_operator,__calculation}, __calculation}, - {{__char,__or_operator,__calculation}, __calculation}, - {{__char,__add_operator,__call_function}, __calculation}, - {{__char,__sub_operator,__call_function}, __calculation}, - {{__char,__mul_operator,__call_function}, __calculation}, - {{__char,__div_operator,__call_function}, __calculation}, - {{__char,__link_operator,__call_function}, __calculation}, - {{__char,__cmp_equal,__call_function}, __calculation}, - {{__char,__cmp_not_equal,__call_function}, __calculation}, - {{__char,__cmp_less,__call_function}, __calculation}, - {{__char,__cmp_less_or_equal,__call_function}, __calculation}, - {{__char,__cmp_more,__call_function}, __calculation}, - {{__char,__cmp_more_or_equal,__call_function}, __calculation}, - {{__char,__and_operator,__call_function}, __calculation}, - {{__char,__or_operator,__call_function}, __calculation}, - - {{__call_hash,__add_operator,__id}, __calculation}, - {{__call_hash,__sub_operator,__id}, __calculation}, - {{__call_hash,__mul_operator,__id}, __calculation}, - {{__call_hash,__div_operator,__id}, __calculation}, - {{__call_hash,__link_operator,__id}, __calculation}, - {{__call_hash,__cmp_equal,__id}, __calculation}, - {{__call_hash,__cmp_not_equal,__id}, __calculation}, - {{__call_hash,__cmp_less,__id}, __calculation}, - {{__call_hash,__cmp_less_or_equal,__id}, __calculation}, - {{__call_hash,__cmp_more,__id}, __calculation}, - {{__call_hash,__cmp_more_or_equal,__id}, __calculation}, - {{__call_hash,__and_operator,__id}, __calculation}, - {{__call_hash,__or_operator,__id}, __calculation}, - {{__call_hash,__add_operator,__number}, __calculation}, - {{__call_hash,__sub_operator,__number}, __calculation}, - {{__call_hash,__mul_operator,__number}, __calculation}, - {{__call_hash,__div_operator,__number}, __calculation}, - {{__call_hash,__link_operator,__number}, __calculation}, - {{__call_hash,__cmp_equal,__number}, __calculation}, - {{__call_hash,__cmp_not_equal,__number}, __calculation}, - {{__call_hash,__cmp_less,__number}, __calculation}, - {{__call_hash,__cmp_less_or_equal,__number}, __calculation}, - {{__call_hash,__cmp_more,__number}, __calculation}, - {{__call_hash,__cmp_more_or_equal,__number}, __calculation}, - {{__call_hash,__and_operator,__number}, __calculation}, - {{__call_hash,__or_operator,__number}, __calculation}, - {{__call_hash,__add_operator,__string}, __calculation}, - {{__call_hash,__sub_operator,__string}, __calculation}, - {{__call_hash,__mul_operator,__string}, __calculation}, - {{__call_hash,__div_operator,__string}, __calculation}, - {{__call_hash,__link_operator,__string}, __calculation}, - {{__call_hash,__cmp_equal,__string}, __calculation}, - {{__call_hash,__cmp_not_equal,__string}, __calculation}, - {{__call_hash,__cmp_less,__string}, __calculation}, - {{__call_hash,__cmp_less_or_equal,__string}, __calculation}, - {{__call_hash,__cmp_more,__string}, __calculation}, - {{__call_hash,__cmp_more_or_equal,__string}, __calculation}, - {{__call_hash,__and_operator,__string}, __calculation}, - {{__call_hash,__or_operator,__string}, __calculation}, - {{__call_hash,__add_operator,__char}, __calculation}, - {{__call_hash,__sub_operator,__char}, __calculation}, - {{__call_hash,__mul_operator,__char}, __calculation}, - {{__call_hash,__div_operator,__char}, __calculation}, - {{__call_hash,__link_operator,__char}, __calculation}, - {{__call_hash,__cmp_equal,__char}, __calculation}, - {{__call_hash,__cmp_not_equal,__char}, __calculation}, - {{__call_hash,__cmp_less,__char}, __calculation}, - {{__call_hash,__cmp_less_or_equal,__char}, __calculation}, - {{__call_hash,__cmp_more,__char}, __calculation}, - {{__call_hash,__cmp_more_or_equal,__char}, __calculation}, - {{__call_hash,__and_operator,__char}, __calculation}, - {{__call_hash,__or_operator,__char}, __calculation}, - {{__call_hash,__add_operator,__call_list}, __calculation}, - {{__call_hash,__sub_operator,__call_list}, __calculation}, - {{__call_hash,__mul_operator,__call_list}, __calculation}, - {{__call_hash,__div_operator,__call_list}, __calculation}, - {{__call_hash,__link_operator,__call_list}, __calculation}, - {{__call_hash,__cmp_equal,__call_list}, __calculation}, - {{__call_hash,__cmp_not_equal,__call_list}, __calculation}, - {{__call_hash,__cmp_less,__call_list}, __calculation}, - {{__call_hash,__cmp_less_or_equal,__call_list}, __calculation}, - {{__call_hash,__cmp_more,__call_list}, __calculation}, - {{__call_hash,__cmp_more_or_equal,__call_list}, __calculation}, - {{__call_hash,__and_operator,__call_list}, __calculation}, - {{__call_hash,__or_operator,__call_list}, __calculation}, - {{__call_hash,__add_operator,__call_hash}, __calculation}, - {{__call_hash,__sub_operator,__call_hash}, __calculation}, - {{__call_hash,__mul_operator,__call_hash}, __calculation}, - {{__call_hash,__div_operator,__call_hash}, __calculation}, - {{__call_hash,__link_operator,__call_hash}, __calculation}, - {{__call_hash,__cmp_equal,__call_hash}, __calculation}, - {{__call_hash,__cmp_not_equal,__call_hash}, __calculation}, - {{__call_hash,__cmp_less,__call_hash}, __calculation}, - {{__call_hash,__cmp_less_or_equal,__call_hash}, __calculation}, - {{__call_hash,__cmp_more,__call_hash}, __calculation}, - {{__call_hash,__cmp_more_or_equal,__call_hash}, __calculation}, - {{__call_hash,__and_operator,__call_hash}, __calculation}, - {{__call_hash,__or_operator,__call_hash}, __calculation}, - {{__call_hash,__add_operator,__calculation}, __calculation}, - {{__call_hash,__sub_operator,__calculation}, __calculation}, - {{__call_hash,__mul_operator,__calculation}, __calculation}, - {{__call_hash,__div_operator,__calculation}, __calculation}, - {{__call_hash,__link_operator,__calculation}, __calculation}, - {{__call_hash,__cmp_equal,__calculation}, __calculation}, - {{__call_hash,__cmp_not_equal,__calculation}, __calculation}, - {{__call_hash,__cmp_less,__calculation}, __calculation}, - {{__call_hash,__cmp_less_or_equal,__calculation}, __calculation}, - {{__call_hash,__cmp_more,__calculation}, __calculation}, - {{__call_hash,__cmp_more_or_equal,__calculation}, __calculation}, - {{__call_hash,__and_operator,__calculation}, __calculation}, - {{__call_hash,__or_operator,__calculation}, __calculation}, - {{__call_hash,__add_operator,__call_function}, __calculation}, - {{__call_hash,__sub_operator,__call_function}, __calculation}, - {{__call_hash,__mul_operator,__call_function}, __calculation}, - {{__call_hash,__div_operator,__call_function}, __calculation}, - {{__call_hash,__link_operator,__call_function}, __calculation}, - {{__call_hash,__cmp_equal,__call_function}, __calculation}, - {{__call_hash,__cmp_not_equal,__call_function}, __calculation}, - {{__call_hash,__cmp_less,__call_function}, __calculation}, - {{__call_hash,__cmp_less_or_equal,__call_function}, __calculation}, - {{__call_hash,__cmp_more,__call_function}, __calculation}, - {{__call_hash,__cmp_more_or_equal,__call_function}, __calculation}, - {{__call_hash,__and_operator,__call_function}, __calculation}, - {{__call_hash,__or_operator,__call_function}, __calculation}, + {{__number},__scalar}, + {{__string},__scalar}, + {{__char},__scalar}, + {{__calculation},__scalar}, - {{__call_list,__add_operator,__id}, __calculation}, - {{__call_list,__sub_operator,__id}, __calculation}, - {{__call_list,__mul_operator,__id}, __calculation}, - {{__call_list,__div_operator,__id}, __calculation}, - {{__call_list,__link_operator,__id}, __calculation}, - {{__call_list,__cmp_equal,__id}, __calculation}, - {{__call_list,__cmp_not_equal,__id}, __calculation}, - {{__call_list,__cmp_less,__id}, __calculation}, - {{__call_list,__cmp_less_or_equal,__id}, __calculation}, - {{__call_list,__cmp_more,__id}, __calculation}, - {{__call_list,__cmp_more_or_equal,__id}, __calculation}, - {{__call_list,__and_operator,__id}, __calculation}, - {{__call_list,__or_operator,__id}, __calculation}, - {{__call_list,__add_operator,__number}, __calculation}, - {{__call_list,__sub_operator,__number}, __calculation}, - {{__call_list,__mul_operator,__number}, __calculation}, - {{__call_list,__div_operator,__number}, __calculation}, - {{__call_list,__link_operator,__number}, __calculation}, - {{__call_list,__cmp_equal,__number}, __calculation}, - {{__call_list,__cmp_not_equal,__number}, __calculation}, - {{__call_list,__cmp_less,__number}, __calculation}, - {{__call_list,__cmp_less_or_equal,__number}, __calculation}, - {{__call_list,__cmp_more,__number}, __calculation}, - {{__call_list,__cmp_more_or_equal,__number}, __calculation}, - {{__call_list,__and_operator,__number}, __calculation}, - {{__call_list,__or_operator,__number}, __calculation}, - {{__call_list,__add_operator,__string}, __calculation}, - {{__call_list,__sub_operator,__string}, __calculation}, - {{__call_list,__mul_operator,__string}, __calculation}, - {{__call_list,__div_operator,__string}, __calculation}, - {{__call_list,__link_operator,__string}, __calculation}, - {{__call_list,__cmp_equal,__string}, __calculation}, - {{__call_list,__cmp_not_equal,__string}, __calculation}, - {{__call_list,__cmp_less,__string}, __calculation}, - {{__call_list,__cmp_less_or_equal,__string}, __calculation}, - {{__call_list,__cmp_more,__string}, __calculation}, - {{__call_list,__cmp_more_or_equal,__string}, __calculation}, - {{__call_list,__and_operator,__string}, __calculation}, - {{__call_list,__or_operator,__string}, __calculation}, - {{__call_list,__add_operator,__char}, __calculation}, - {{__call_list,__sub_operator,__char}, __calculation}, - {{__call_list,__mul_operator,__char}, __calculation}, - {{__call_list,__div_operator,__char}, __calculation}, - {{__call_list,__link_operator,__char}, __calculation}, - {{__call_list,__cmp_equal,__char}, __calculation}, - {{__call_list,__cmp_not_equal,__char}, __calculation}, - {{__call_list,__cmp_less,__char}, __calculation}, - {{__call_list,__cmp_less_or_equal,__char}, __calculation}, - {{__call_list,__cmp_more,__char}, __calculation}, - {{__call_list,__cmp_more_or_equal,__char}, __calculation}, - {{__call_list,__and_operator,__char}, __calculation}, - {{__call_list,__or_operator,__char}, __calculation}, - {{__call_list,__add_operator,__call_list}, __calculation}, - {{__call_list,__sub_operator,__call_list}, __calculation}, - {{__call_list,__mul_operator,__call_list}, __calculation}, - {{__call_list,__div_operator,__call_list}, __calculation}, - {{__call_list,__link_operator,__call_list}, __calculation}, - {{__call_list,__cmp_equal,__call_list}, __calculation}, - {{__call_list,__cmp_not_equal,__call_list}, __calculation}, - {{__call_list,__cmp_less,__call_list}, __calculation}, - {{__call_list,__cmp_less_or_equal,__call_list}, __calculation}, - {{__call_list,__cmp_more,__call_list}, __calculation}, - {{__call_list,__cmp_more_or_equal,__call_list}, __calculation}, - {{__call_list,__and_operator,__call_list}, __calculation}, - {{__call_list,__or_operator,__call_list}, __calculation}, - {{__call_list,__add_operator,__call_hash}, __calculation}, - {{__call_list,__sub_operator,__call_hash}, __calculation}, - {{__call_list,__mul_operator,__call_hash}, __calculation}, - {{__call_list,__div_operator,__call_hash}, __calculation}, - {{__call_list,__link_operator,__call_hash}, __calculation}, - {{__call_list,__cmp_equal,__call_hash}, __calculation}, - {{__call_list,__cmp_not_equal,__call_hash}, __calculation}, - {{__call_list,__cmp_less,__call_hash}, __calculation}, - {{__call_list,__cmp_less_or_equal,__call_hash}, __calculation}, - {{__call_list,__cmp_more,__call_hash}, __calculation}, - {{__call_list,__cmp_more_or_equal,__call_hash}, __calculation}, - {{__call_list,__and_operator,__call_hash}, __calculation}, - {{__call_list,__or_operator,__call_hash}, __calculation}, - {{__call_list,__add_operator,__calculation}, __calculation}, - {{__call_list,__sub_operator,__calculation}, __calculation}, - {{__call_list,__mul_operator,__calculation}, __calculation}, - {{__call_list,__div_operator,__calculation}, __calculation}, - {{__call_list,__link_operator,__calculation}, __calculation}, - {{__call_list,__cmp_equal,__calculation}, __calculation}, - {{__call_list,__cmp_not_equal,__calculation}, __calculation}, - {{__call_list,__cmp_less,__calculation}, __calculation}, - {{__call_list,__cmp_less_or_equal,__calculation}, __calculation}, - {{__call_list,__cmp_more,__calculation}, __calculation}, - {{__call_list,__cmp_more_or_equal,__calculation}, __calculation}, - {{__call_list,__and_operator,__calculation}, __calculation}, - {{__call_list,__or_operator,__calculation}, __calculation}, - {{__call_list,__add_operator,__call_function}, __calculation}, - {{__call_list,__sub_operator,__call_function}, __calculation}, - {{__call_list,__mul_operator,__call_function}, __calculation}, - {{__call_list,__div_operator,__call_function}, __calculation}, - {{__call_list,__link_operator,__call_function}, __calculation}, - {{__call_list,__cmp_equal,__call_function}, __calculation}, - {{__call_list,__cmp_not_equal,__call_function}, __calculation}, - {{__call_list,__cmp_less,__call_function}, __calculation}, - {{__call_list,__cmp_less_or_equal,__call_function}, __calculation}, - {{__call_list,__cmp_more,__call_function}, __calculation}, - {{__call_list,__cmp_more_or_equal,__call_function}, __calculation}, - {{__call_list,__and_operator,__call_function}, __calculation}, - {{__call_list,__or_operator,__call_function}, __calculation}, + {{__call_list},__call}, + {{__call_hash},__call}, + {{__call_function},__call}, - {{__call_function,__add_operator,__id}, __calculation}, - {{__call_function,__sub_operator,__id}, __calculation}, - {{__call_function,__mul_operator,__id}, __calculation}, - {{__call_function,__div_operator,__id}, __calculation}, - {{__call_function,__link_operator,__id}, __calculation}, - {{__call_function,__cmp_equal,__id}, __calculation}, - {{__call_function,__cmp_not_equal,__id}, __calculation}, - {{__call_function,__cmp_less,__id}, __calculation}, - {{__call_function,__cmp_less_or_equal,__id}, __calculation}, - {{__call_function,__cmp_more,__id}, __calculation}, - {{__call_function,__cmp_more_or_equal,__id}, __calculation}, - {{__call_function,__and_operator,__id}, __calculation}, - {{__call_function,__or_operator,__id}, __calculation}, - {{__call_function,__add_operator,__number}, __calculation}, - {{__call_function,__sub_operator,__number}, __calculation}, - {{__call_function,__mul_operator,__number}, __calculation}, - {{__call_function,__div_operator,__number}, __calculation}, - {{__call_function,__link_operator,__number}, __calculation}, - {{__call_function,__cmp_equal,__number}, __calculation}, - {{__call_function,__cmp_not_equal,__number}, __calculation}, - {{__call_function,__cmp_less,__number}, __calculation}, - {{__call_function,__cmp_less_or_equal,__number}, __calculation}, - {{__call_function,__cmp_more,__number}, __calculation}, - {{__call_function,__cmp_more_or_equal,__number}, __calculation}, - {{__call_function,__and_operator,__number}, __calculation}, - {{__call_function,__or_operator,__number}, __calculation}, - {{__call_function,__add_operator,__string}, __calculation}, - {{__call_function,__sub_operator,__string}, __calculation}, - {{__call_function,__mul_operator,__string}, __calculation}, - {{__call_function,__div_operator,__string}, __calculation}, - {{__call_function,__link_operator,__string}, __calculation}, - {{__call_function,__cmp_equal,__string}, __calculation}, - {{__call_function,__cmp_not_equal,__string}, __calculation}, - {{__call_function,__cmp_less,__string}, __calculation}, - {{__call_function,__cmp_less_or_equal,__string}, __calculation}, - {{__call_function,__cmp_more,__string}, __calculation}, - {{__call_function,__cmp_more_or_equal,__string}, __calculation}, - {{__call_function,__and_operator,__string}, __calculation}, - {{__call_function,__or_operator,__string}, __calculation}, - {{__call_function,__add_operator,__char}, __calculation}, - {{__call_function,__sub_operator,__char}, __calculation}, - {{__call_function,__mul_operator,__char}, __calculation}, - {{__call_function,__div_operator,__char}, __calculation}, - {{__call_function,__link_operator,__char}, __calculation}, - {{__call_function,__cmp_equal,__char}, __calculation}, - {{__call_function,__cmp_not_equal,__char}, __calculation}, - {{__call_function,__cmp_less,__char}, __calculation}, - {{__call_function,__cmp_less_or_equal,__char}, __calculation}, - {{__call_function,__cmp_more,__char}, __calculation}, - {{__call_function,__cmp_more_or_equal,__char}, __calculation}, - {{__call_function,__and_operator,__char}, __calculation}, - {{__call_function,__or_operator,__char}, __calculation}, - {{__call_function,__add_operator,__call_list}, __calculation}, - {{__call_function,__sub_operator,__call_list}, __calculation}, - {{__call_function,__mul_operator,__call_list}, __calculation}, - {{__call_function,__div_operator,__call_list}, __calculation}, - {{__call_function,__link_operator,__call_list}, __calculation}, - {{__call_function,__cmp_equal,__call_list}, __calculation}, - {{__call_function,__cmp_not_equal,__call_list}, __calculation}, - {{__call_function,__cmp_less,__call_list}, __calculation}, - {{__call_function,__cmp_less_or_equal,__call_list}, __calculation}, - {{__call_function,__cmp_more,__call_list}, __calculation}, - {{__call_function,__cmp_more_or_equal,__call_list}, __calculation}, - {{__call_function,__and_operator,__call_list}, __calculation}, - {{__call_function,__or_operator,__call_list}, __calculation}, - {{__call_function,__add_operator,__call_hash}, __calculation}, - {{__call_function,__sub_operator,__call_hash}, __calculation}, - {{__call_function,__mul_operator,__call_hash}, __calculation}, - {{__call_function,__div_operator,__call_hash}, __calculation}, - {{__call_function,__link_operator,__call_hash}, __calculation}, - {{__call_function,__cmp_equal,__call_hash}, __calculation}, - {{__call_function,__cmp_not_equal,__call_hash}, __calculation}, - {{__call_function,__cmp_less,__call_hash}, __calculation}, - {{__call_function,__cmp_less_or_equal,__call_hash}, __calculation}, - {{__call_function,__cmp_more,__call_hash}, __calculation}, - {{__call_function,__cmp_more_or_equal,__call_hash}, __calculation}, - {{__call_function,__and_operator,__call_hash}, __calculation}, - {{__call_function,__or_operator,__call_hash}, __calculation}, - {{__call_function,__add_operator,__calculation}, __calculation}, - {{__call_function,__sub_operator,__calculation}, __calculation}, - {{__call_function,__mul_operator,__calculation}, __calculation}, - {{__call_function,__div_operator,__calculation}, __calculation}, - {{__call_function,__link_operator,__calculation}, __calculation}, - {{__call_function,__cmp_equal,__calculation}, __calculation}, - {{__call_function,__cmp_not_equal,__calculation}, __calculation}, - {{__call_function,__cmp_less,__calculation}, __calculation}, - {{__call_function,__cmp_less_or_equal,__calculation}, __calculation}, - {{__call_function,__cmp_more,__calculation}, __calculation}, - {{__call_function,__cmp_more_or_equal,__calculation}, __calculation}, - {{__call_function,__and_operator,__calculation}, __calculation}, - {{__call_function,__or_operator,__calculation}, __calculation}, - {{__call_function,__add_operator,__call_function}, __calculation}, - {{__call_function,__sub_operator,__call_function}, __calculation}, - {{__call_function,__mul_operator,__call_function}, __calculation}, - {{__call_function,__div_operator,__call_function}, __calculation}, - {{__call_function,__link_operator,__call_function}, __calculation}, - {{__call_function,__cmp_equal,__call_function}, __calculation}, - {{__call_function,__cmp_not_equal,__call_function}, __calculation}, - {{__call_function,__cmp_less,__call_function}, __calculation}, - {{__call_function,__cmp_less_or_equal,__call_function}, __calculation}, - {{__call_function,__cmp_more,__call_function}, __calculation}, - {{__call_function,__cmp_more_or_equal,__call_function}, __calculation}, - {{__call_function,__and_operator,__call_function}, __calculation}, - {{__call_function,__or_operator,__call_function}, __calculation}, - - {{__calculation,__add_operator,__id}, __calculation}, - {{__calculation,__sub_operator,__id}, __calculation}, - {{__calculation,__mul_operator,__id}, __calculation}, - {{__calculation,__div_operator,__id}, __calculation}, - {{__calculation,__link_operator,__id}, __calculation}, - {{__calculation,__cmp_equal,__id}, __calculation}, - {{__calculation,__cmp_not_equal,__id}, __calculation}, - {{__calculation,__cmp_less,__id}, __calculation}, - {{__calculation,__cmp_less_or_equal,__id}, __calculation}, - {{__calculation,__cmp_more,__id}, __calculation}, - {{__calculation,__cmp_more_or_equal,__id}, __calculation}, - {{__calculation,__and_operator,__id}, __calculation}, - {{__calculation,__or_operator,__id}, __calculation}, - {{__calculation,__add_operator,__number}, __calculation}, - {{__calculation,__sub_operator,__number}, __calculation}, - {{__calculation,__mul_operator,__number}, __calculation}, - {{__calculation,__div_operator,__number}, __calculation}, - {{__calculation,__link_operator,__number}, __calculation}, - {{__calculation,__cmp_equal,__number}, __calculation}, - {{__calculation,__cmp_not_equal,__number}, __calculation}, - {{__calculation,__cmp_less,__number}, __calculation}, - {{__calculation,__cmp_less_or_equal,__number}, __calculation}, - {{__calculation,__cmp_more,__number}, __calculation}, - {{__calculation,__cmp_more_or_equal,__number}, __calculation}, - {{__calculation,__and_operator,__number}, __calculation}, - {{__calculation,__or_operator,__number}, __calculation}, - {{__calculation,__add_operator,__string}, __calculation}, - {{__calculation,__sub_operator,__string}, __calculation}, - {{__calculation,__mul_operator,__string}, __calculation}, - {{__calculation,__div_operator,__string}, __calculation}, - {{__calculation,__link_operator,__string}, __calculation}, - {{__calculation,__cmp_equal,__string}, __calculation}, - {{__calculation,__cmp_not_equal,__string}, __calculation}, - {{__calculation,__cmp_less,__string}, __calculation}, - {{__calculation,__cmp_less_or_equal,__string}, __calculation}, - {{__calculation,__cmp_more,__string}, __calculation}, - {{__calculation,__cmp_more_or_equal,__string}, __calculation}, - {{__calculation,__and_operator,__string}, __calculation}, - {{__calculation,__or_operator,__string}, __calculation}, - {{__calculation,__add_operator,__char}, __calculation}, - {{__calculation,__sub_operator,__char}, __calculation}, - {{__calculation,__mul_operator,__char}, __calculation}, - {{__calculation,__div_operator,__char}, __calculation}, - {{__calculation,__link_operator,__char}, __calculation}, - {{__calculation,__cmp_equal,__char}, __calculation}, - {{__calculation,__cmp_not_equal,__char}, __calculation}, - {{__calculation,__cmp_less,__char}, __calculation}, - {{__calculation,__cmp_less_or_equal,__char}, __calculation}, - {{__calculation,__cmp_more,__char}, __calculation}, - {{__calculation,__cmp_more_or_equal,__char}, __calculation}, - {{__calculation,__and_operator,__char}, __calculation}, - {{__calculation,__or_operator,__char}, __calculation}, - {{__calculation,__add_operator,__call_list}, __calculation}, - {{__calculation,__sub_operator,__call_list}, __calculation}, - {{__calculation,__mul_operator,__call_list}, __calculation}, - {{__calculation,__div_operator,__call_list}, __calculation}, - {{__calculation,__link_operator,__call_list}, __calculation}, - {{__calculation,__cmp_equal,__call_list}, __calculation}, - {{__calculation,__cmp_not_equal,__call_list}, __calculation}, - {{__calculation,__cmp_less,__call_list}, __calculation}, - {{__calculation,__cmp_less_or_equal,__call_list}, __calculation}, - {{__calculation,__cmp_more,__call_list}, __calculation}, - {{__calculation,__cmp_more_or_equal,__call_list}, __calculation}, - {{__calculation,__and_operator,__call_list}, __calculation}, - {{__calculation,__or_operator,__call_list}, __calculation}, - {{__calculation,__add_operator,__call_hash}, __calculation}, - {{__calculation,__sub_operator,__call_hash}, __calculation}, - {{__calculation,__mul_operator,__call_hash}, __calculation}, - {{__calculation,__div_operator,__call_hash}, __calculation}, - {{__calculation,__link_operator,__call_hash}, __calculation}, - {{__calculation,__cmp_equal,__call_hash}, __calculation}, - {{__calculation,__cmp_not_equal,__call_hash}, __calculation}, - {{__calculation,__cmp_less,__call_hash}, __calculation}, - {{__calculation,__cmp_less_or_equal,__call_hash}, __calculation}, - {{__calculation,__cmp_more,__call_hash}, __calculation}, - {{__calculation,__cmp_more_or_equal,__call_hash}, __calculation}, - {{__calculation,__and_operator,__call_hash}, __calculation}, - {{__calculation,__or_operator,__call_hash}, __calculation}, - {{__calculation,__add_operator,__calculation}, __calculation}, - {{__calculation,__sub_operator,__calculation}, __calculation}, - {{__calculation,__mul_operator,__calculation}, __calculation}, - {{__calculation,__div_operator,__calculation}, __calculation}, - {{__calculation,__link_operator,__calculation}, __calculation}, - {{__calculation,__cmp_equal,__calculation}, __calculation}, - {{__calculation,__cmp_not_equal,__calculation}, __calculation}, - {{__calculation,__cmp_less,__calculation}, __calculation}, - {{__calculation,__cmp_less_or_equal,__calculation}, __calculation}, - {{__calculation,__cmp_more,__calculation}, __calculation}, - {{__calculation,__cmp_more_or_equal,__calculation}, __calculation}, - {{__calculation,__and_operator,__calculation}, __calculation}, - {{__calculation,__or_operator,__calculation}, __calculation}, - {{__calculation,__add_operator,__call_function}, __calculation}, - {{__calculation,__sub_operator,__call_function}, __calculation}, - {{__calculation,__mul_operator,__call_function}, __calculation}, - {{__calculation,__div_operator,__call_function}, __calculation}, - {{__calculation,__link_operator,__call_function}, __calculation}, - {{__calculation,__cmp_equal,__call_function}, __calculation}, - {{__calculation,__cmp_not_equal,__call_function}, __calculation}, - {{__calculation,__cmp_less,__call_function}, __calculation}, - {{__calculation,__cmp_less_or_equal,__call_function}, __calculation}, - {{__calculation,__cmp_more,__call_function}, __calculation}, - {{__calculation,__cmp_more_or_equal,__call_function}, __calculation}, - {{__calculation,__and_operator,__call_function}, __calculation}, - {{__calculation,__or_operator,__call_function}, __calculation}, + {{__id,__comma,__id},__data_list}, + {{__id,__comma,__scalar},__data_list}, + {{__id,__comma,__call},__data_list}, + {{__id,__comma,__function},__data_list}, + {{__id,__comma,__list},__data_list}, + {{__id,__comma,__hash},__data_list}, + {{__scalar,__comma,__id},__data_list}, + {{__scalar,__comma,__scalar},__data_list}, + {{__scalar,__comma,__call},__data_list}, + {{__scalar,__comma,__function},__data_list}, + {{__scalar,__comma,__list},__data_list}, + {{__scalar,__comma,__hash},__data_list}, + {{__call,__comma,__id},__data_list}, + {{__call,__comma,__scalar},__data_list}, + {{__call,__comma,__call},__data_list}, + {{__call,__comma,__function},__data_list}, + {{__call,__comma,__list},__data_list}, + {{__call,__comma,__hash},__data_list}, + {{__function,__comma,__id},__data_list}, + {{__function,__comma,__scalar},__data_list}, + {{__function,__comma,__call},__data_list}, + {{__function,__comma,__function},__data_list}, + {{__function,__comma,__list},__data_list}, + {{__function,__comma,__hash},__data_list}, + {{__list,__comma,__id},__data_list}, + {{__list,__comma,__scalar},__data_list}, + {{__list,__comma,__call},__data_list}, + {{__list,__comma,__function},__data_list}, + {{__list,__comma,__list},__data_list}, + {{__list,__comma,__hash},__data_list}, + {{__hash,__comma,__id},__data_list}, + {{__hash,__comma,__scalar},__data_list}, + {{__hash,__comma,__call},__data_list}, + {{__hash,__comma,__function},__data_list}, + {{__hash,__comma,__list},__data_list}, + {{__hash,__comma,__hash},__data_list}, + {{__data_list,__comma,__id},__data_list}, + {{__data_list,__comma,__scalar},__data_list}, + {{__data_list,__comma,__call},__data_list}, + {{__data_list,__comma,__function},__data_list}, + {{__data_list,__comma,__list},__data_list}, + {{__data_list,__comma,__hash},__data_list}, - {{__right_curve,__number,__left_curve}, __calculation}, - {{__right_curve,__string,__left_curve}, __calculation}, - {{__right_curve,__char,__left_curve}, __calculation}, - {{__right_curve,__id,__left_curve}, __calculation}, - {{__right_curve,__call_hash,__left_curve}, __calculation}, - {{__right_curve,__call_list,__left_curve}, __calculation}, - {{__right_curve,__call_function,__left_curve}, __calculation}, - {{__right_curve,__calculation,__left_curve}, __calculation}, - - {{__number,__nor_operator}, __calculation}, - {{__string,__nor_operator}, __calculation}, - {{__char,__nor_operator}, __calculation}, - {{__id,__nor_operator}, __calculation}, - {{__call_list,__nor_operator}, __calculation}, - {{__call_hash,__nor_operator}, __calculation}, - {{__call_function,__nor_operator}, __calculation}, - {{__calculation,__nor_operator}, __calculation}, - - {{__semi,__calculation,__equal,__id,__var}, __definition}, - {{__semi,__number,__equal,__id,__var}, __definition}, - {{__semi,__string,__equal,__id,__var}, __definition}, - {{__semi,__id,__equal,__id,__var}, __definition}, - {{__semi,__char,__equal,__id,__var}, __definition}, - {{__semi,__right_brace,__left_brace,__equal,__id,__var}, __definition}, - {{__semi,__right_bracket,__left_bracket,__equal,__id,__var}, __definition}, - {{__semi,__call_function,__equal,__id,__var}, __definition}, - {{__semi,__call_list,__equal,__id,__var}, __definition}, - {{__function,__equal,__id,__var}, __definition}, - {{__semi,__function,__equal,__id,__var}, __definition}, - {{__semi,__call_hash,__equal,__id,__var}, __definition}, - {{__semi,__list,__equal,__id,__var}, __definition}, - {{__semi,__hash,__equal,__id,__var}, __definition}, - - {{__calculation,__equal,__id}, __pre_assignment}, - {{__number,__equal,__id}, __pre_assignment}, - {{__string,__equal,__id}, __pre_assignment}, - {{__id,__equal,__id}, __pre_assignment}, - {{__char,__equal,__id}, __pre_assignment}, - {{__right_brace,__left_brace,__equal,__id}, __pre_assignment}, - {{__right_bracket,__left_bracket,__equal,__id}, __pre_assignment}, - {{__call_function,__equal,__id}, __pre_assignment}, - {{__call_list,__equal,__id}, __pre_assignment}, - {{__function,__equal,__id}, __pre_assignment}, - {{__function,__equal,__id}, __pre_assignment}, - {{__call_hash,__equal,__id}, __pre_assignment}, - {{__list,__equal,__id}, __pre_assignment}, - {{__hash,__equal,__id}, __pre_assignment}, - - {{__calculation,__add_equal,__id}, __pre_assignment}, - {{__number,__add_equal,__id}, __pre_assignment}, - {{__string,__add_equal,__id}, __pre_assignment}, - {{__id,__add_equal,__id}, __pre_assignment}, - {{__char,__add_equal,__id}, __pre_assignment}, - {{__call_function,__add_equal,__id}, __pre_assignment}, - {{__call_list,__add_equal,__id}, __pre_assignment}, - {{__call_hash,__add_equal,__id}, __pre_assignment}, - - {{__calculation,__sub_equal,__id}, __pre_assignment}, - {{__number,__sub_equal,__id}, __pre_assignment}, - {{__string,__sub_equal,__id}, __pre_assignment}, - {{__id,__sub_equal,__id}, __pre_assignment}, - {{__char,__sub_equal,__id}, __pre_assignment}, - {{__call_function,__sub_equal,__id}, __pre_assignment}, - {{__call_list,__sub_equal,__id}, __pre_assignment}, - {{__call_hash,__sub_equal,__id}, __pre_assignment}, - - {{__calculation,__mul_equal,__id}, __pre_assignment}, - {{__number,__mul_equal,__id}, __pre_assignment}, - {{__string,__mul_equal,__id}, __pre_assignment}, - {{__id,__mul_equal,__id}, __pre_assignment}, - {{__char,__mul_equal,__id}, __pre_assignment}, - {{__call_function,__mul_equal,__id}, __pre_assignment}, - {{__call_list,__mul_equal,__id}, __pre_assignment}, - {{__call_hash,__mul_equal,__id}, __pre_assignment}, - - {{__calculation,__div_equal,__id}, __pre_assignment}, - {{__number,__div_equal,__id}, __pre_assignment}, - {{__string,__div_equal,__id}, __pre_assignment}, - {{__id,__div_equal,__id}, __pre_assignment}, - {{__char,__div_equal,__id}, __pre_assignment}, - {{__call_function,__div_equal,__id}, __pre_assignment}, - {{__call_list,__div_equal,__id}, __pre_assignment}, - {{__call_hash,__div_equal,__id}, __pre_assignment}, - - {{__calculation,__link_equal,__id}, __pre_assignment}, - {{__number,__link_equal,__id}, __pre_assignment}, - {{__string,__link_equal,__id}, __pre_assignment}, - {{__id,__link_equal,__id}, __pre_assignment}, - {{__char,__link_equal,__id}, __pre_assignment}, - {{__call_function,__link_equal,__id}, __pre_assignment}, - {{__call_list,__link_equal,__id}, __pre_assignment}, - {{__call_hash,__link_equal,__id}, __pre_assignment}, - - {{__semi,__pre_assignment}, __assignment}, - - {{__semi,__call_list,__semi}, __semi}, - {{__semi,__call_hash,__semi}, __semi}, - {{__semi,__call_function,__semi}, __semi}, - {{__semi,__calculation,__semi}, __semi}, - {{__semi,__id,__semi}, __semi}, - {{__semi,__number,__semi}, __semi}, - {{__semi,__string,__semi}, __semi}, - {{__semi,__char,__semi}, __semi}, - - {{__semi,__call_list,__right_brace}, __right_brace}, - {{__semi,__call_hash,__right_brace}, __right_brace}, - {{__semi,__call_function,__right_brace}, __right_brace}, - {{__semi,__calculation,__right_brace}, __right_brace}, - {{__semi,__id,__right_brace}, __right_brace}, - {{__semi,__number,__right_brace}, __right_brace}, - {{__semi,__string,__right_brace}, __right_brace}, - {{__semi,__char,__right_brace}, __right_brace}, - - {{__semi,__call_list,__left_brace}, __left_brace}, - {{__semi,__call_hash,__left_brace}, __left_brace}, - {{__semi,__call_function,__left_brace}, __left_brace}, - {{__semi,__calculation,__left_brace}, __left_brace}, - {{__semi,__id,__left_brace}, __left_brace}, - {{__semi,__number,__left_brace}, __left_brace}, - {{__semi,__string,__left_brace}, __left_brace}, - {{__semi,__char,__left_brace}, __left_brace}, - - {{__definition}, __statement}, - {{__assignment}, __statement}, - {{__choose}, __statement}, - {{__semi,__continue}, __statement}, - {{__semi,__break}, __statement}, - {{__semi,__id,__return}, __statement}, - {{__semi,__list,__return}, __statement}, - {{__semi,__hash,__return}, __statement}, - {{__loop}, __statement}, - {{__statement,__statement}, __statements}, - {{__statement,__statements}, __statements}, - {{__statements,__statement}, __statements}, - {{__statements,__statements}, __statements} + {{__id,__colon,__id},__hash_member}, + {{__scalar,__colon,__id},__hash_member}, + {{__call,__colon,__id},__hash_member}, + {{__function,__colon,__id},__hash_member}, + + {{__hash_member,__comma,__hash_member},__hash_member_list}, + {{__hash_member_list,__comma,__hash_member},__hash_member_list}, + + {{__right_bracket,__left_bracket},__list}, + {{__right_bracket,__id,__left_bracket},__list}, + {{__right_bracket,__scalar,__left_bracket},__list}, + {{__right_bracket,__call,__left_bracket},__list}, + {{__right_bracket,__function,__left_bracket},__list}, + {{__right_bracket,__data_list,__left_bracket},__list}, + + {{__right_brace,__left_brace},__hash}, + {{__right_brace,__hash_member,__left_brace},__hash}, + {{__right_brace,__hash_member_list,__left_brace},__hash}, + + {{__list,__id},__call_list}, + {{__list,__call},__call_list}, + {{__right_bracket,__hash_member,__left_bracket,__id},__call_list}, + {{__right_bracket,__hash_member,__left_bracket,__call},__call_list}, + {{__right_bracket,__colon,__id,__left_bracket,__id},__call_list}, + {{__right_bracket,__colon,__scalar,__left_bracket,__id},__call_list}, + {{__right_bracket,__colon,__call,__left_bracket,__id},__call_list}, + {{__right_bracket,__colon,__id,__left_bracket,__call},__call_list}, + {{__right_bracket,__colon,__scalar,__left_bracket,__call},__call_list}, + {{__right_bracket,__colon,__call,__left_bracket,__call},__call_list}, + + {{__id,__dot,__id},__call_hash}, + {{__id,__dot,__call},__call_hash}, + {{__call,__dot,__id},__call_hash}, + {{__call,__dot,__call},__call_hash}, + + {{__right_curve,__left_curve,__id},__call_function}, + {{__right_curve,__id,__left_curve,__id},__call_function}, + {{__right_curve,__scalar,__left_curve,__id},__call_function}, + {{__right_curve,__call,__left_curve,__id},__call_function}, + {{__right_curve,__list,__left_curve,__id},__call_function}, + {{__right_curve,__hash,__left_curve,__id},__call_function}, + {{__right_curve,__function,__left_curve,__id},__call_function}, + {{__right_curve,__data_list,__left_curve,__id},__call_function}, }; int num_of_par=sizeof(par)/sizeof(cmp_seq); @@ -1404,9 +296,6 @@ void print_token(int type) case __while: context="while"; break; - case __while_head: - context="while ("; - break; case __if: context="if"; break; @@ -1416,24 +305,9 @@ void print_token(int type) case __else: context="else"; break; - case __if_head: - context="if ("; - break; - case __elsif_head: - context="elsif ("; - break; case __return: context="return"; break; - case __call_list_head: - context="id ["; - break; - case __call_func_head: - context="id ("; - break; - case __func_head: - context="func ("; - break; case __scalar: context="scalar"; break; @@ -1495,11 +369,11 @@ void print_token(int type) context="program"; break; - case __data_list: - context="identifiers"; + case __call: + context="call"; break; - case __scalar_list: - context="scalars"; + case __data_list: + context="datas"; break; case __hash_member_list: context="hash_members"; @@ -1507,6 +381,9 @@ void print_token(int type) case __pre_assignment: context="pre_assignment"; break; + case __two_operator: + context="operator"; + break; default: context="unknown_type"; break; @@ -1627,47 +504,27 @@ class PDA { comp_stack.push(main_stack.top()); main_stack.pop(); - if((comp_stack.top()==__id) && (!main_stack.empty()) && ((main_stack.top()==__var) || (main_stack.top()==__dot))) // special LR(1) for definition & assignment - { - comp_stack.push(main_stack.top()); - main_stack.pop(); - } + // if((comp_stack.top()==__left_bracket) && (!main_stack.empty()) && (main_stack.top()==__id)) + // { + // comp_stack.push(main_stack.top()); + // main_stack.pop(); + // } if((comp_stack.top()==__left_curve) && (!main_stack.empty()) && ((main_stack.top()==__id) || (main_stack.top()==__if) || (main_stack.top()==__elsif) || (main_stack.top()==__while) || (main_stack.top()==__func))) { comp_stack.push(main_stack.top()); main_stack.pop(); } - if((comp_stack.top()==__left_bracket) && (!main_stack.empty()) && (main_stack.top()==__id)) + else if((comp_stack.top()==__id) && (!main_stack.top()) && (main_stack.top()==__var)) { comp_stack.push(main_stack.top()); main_stack.pop(); } - if(((comp_stack.top()==__sub_operator) || (comp_stack.top()==__add_operator)) && (!main_stack.empty()) && - ((main_stack.top()==__equal) || (main_stack.top()==__left_curve) || (main_stack.top()==__left_brace) || (main_stack.top()==__left_bracket) - || (main_stack.top()==__cmp_equal) || (main_stack.top()==__cmp_not_equal) || (main_stack.top()==__cmp_less) || (main_stack.top()==__cmp_less_or_equal) - || (main_stack.top()==__cmp_more) || (main_stack.top()==__cmp_more_or_equal) || (main_stack.top()==__and_operator) || (main_stack.top()==__or_operator) - || (main_stack.top()==__nor_operator)) - ) - { - comp_stack.pop(); - } if(show) print_main_and_comp(); while(1) { if(!reducable()) break; - if((comp_stack.top()==__statement) && (!main_stack.empty()) && ((main_stack.top()==__right_curve) || (main_stack.top()==__else))) - { - comp_stack.push(main_stack.top()); - main_stack.pop(); - } - else if(((comp_stack.top()==__call_function) || (comp_stack.top()==__call_list)) && (!main_stack.empty()) && (main_stack.top()==__dot)) - { - comp_stack.push(main_stack.top()); - main_stack.pop(); - } - if(show) print_main_and_comp(); } @@ -1729,34 +586,10 @@ class nasal_parser { temp_parse.type=__id; } - else if((*i).type==CALL_LIST) - { - temp_parse.type=__call_list_head; - } - else if((*i).type==CALL_FUNC) - { - temp_parse.type=__call_func_head; - } - else if((*i).type==FUNC_HEAD) - { - temp_parse.type=__func_head; - } else if((*i).type==DYNAMIC_ID) { temp_parse.type=__dynamic_id; } - else if((*i).type==IF_HEAD) - { - temp_parse.type=__if_head; - } - else if((*i).type==ELSIF_HEAD) - { - temp_parse.type=__elsif_head; - } - else if((*i).type==WHILE_HEAD) - { - temp_parse.type=__while_head; - } else if(((*i).content=="for") || ((*i).content=="foreach") || ((*i).content=="while") || ((*i).content=="forindex")) { if((*i).content=="for")