// At the C level, full expressions and conditions are not tested, only simple terms that are not set constants // Test simple terms // simple_term ::= IDNUM | IDSET | NUMBER | interval thisisanIDNUM; thisisanIDSET; 1234; // interval ::= "[" expression "," expression "]" [a,2]; [B,20]; // Test all declarations // statement ::= var_decl | fn_decl // var_decl ::= VAR ident_list // ident_list ::= identifier ("," identifier)* // identifier ::= IDNUM | IDSET | IDBOOL var a; var B,#c; var e,#F,G,h,I,#J; // fn_decl ::= FUNCTION identifier "(" (ident_list)? ")" body END // body ::= (statement ";")* function A() end; function b(c) return 1; end; function #d(e,F,#G,h,i,#j) return k; end;