// //definition: //var e=1; //var e=e; //var e=e[0]; //var e=e[i]; //var e=e.e; //var e=e[func()]; //var e=func(); // identifier // scalar // call_func -> identifier func_name() // array_search -> identifier e[0] e[e] // hash_search -> identifier e.e <1> ::= //NUMBER //STRING | | <+>|<->|<*>||<~>|||<==>||<<>|<<=>|<>>|<>=> | <(> | <)> // find a way to distinguish while(scalar) with real (scalar+-scalar)*scalar <2> ::= | <,> | | <,> <3> ::= // IDENTIFIER <[> | <]> //__array_search <.> //__hash_search <(> ||| <)> //__call_func <(><)> //__call_func_null <4> ::= | <,> <5> ::= <:> ||<__func> <:> <(><)> <{><}> <:> <(> | <)> <{><}> <:> <(><)> <{> | <}> <:> <(> | <)> <{> | <}> <6> ::= | <,> <7> ::= <=> | <;> <=> <[><]> <;> <=> <{><}> <;> <=> <[> ||| <]> <;> <=> <{> | <}> <;> <8> ::= <=> | <;> <=> <[><]> <;> <=> <{><}> <;> <=> <[> ||| <]> <;> <=> <{> | <}> <;> <9><__func> ::= <=> <(><)> <{><}> <=> <(> | <)> <{><}> <=> <(><)> <{> | <}> <=> <(> | <)> <{> | <}> <10> ::= <{> | <}> | <(> <)> | <(> <{> | <}> <(> <+=>|<-=>|<*=>||<~=>|<=> <)> <(> <+=>|<-=>|<*=>||<~=>|<=> <)> <{> | <}> <11> ::= | <{> | <}> | <{> | <}> <{> | <}> <12> ::= ||<__func>|| ||| <;> | <;> <13> ::= |