-exp: NUM
- | TEXT { "\"$_[1]\"" }
- | func
- | var
- | '~' exp %prec INV { "~$_[2]" }
- | exp '+' exp { "$_[1] + $_[3]" }
- | exp '-' exp { "$_[1] - $_[3]" }
- | exp '*' exp { "$_[1] * $_[3]" }
- | exp '%' exp { "$_[1] % $_[3]" }
- | exp '<' exp { "$_[1] < $_[3]" }
- | exp '>' exp { "$_[1] > $_[3]" }
- | exp '|' exp { "$_[1] | $_[3]" }
- | exp '==' exp { "$_[1] == $_[3]" }
- | exp '<=' exp { "$_[1] <= $_[3]" }
- | exp '=>' exp { "$_[1] => $_[3]" }
- | exp '<<' exp { "$_[1] << $_[3]" }
- | exp '>>' exp { "$_[1] >> $_[3]" }
- | exp '!=' exp { "$_[1] != $_[3]" }
- | exp '||' exp { "$_[1] || $_[3]" }
- | exp '&&' exp { "$_[1] && $_[3]" }
- | exp '&' exp { "$_[1] & $_[3]" }
- | exp '?' exp ':' exp { "$_[1]?$_[3]:$_[5]" }
- | '~' exp { "~$_[1]" }
- | '!' exp { "not $_[1]" }
- | exp '/' exp { "$_[1] / $_[3]" }
- | '-' exp %prec NEG { "-$_[2]" }
- | '&' exp %prec ADDROF { "&$_[2]" }
- | exp '^' exp { "$_[1]^$_[3]" }
- | '(' exp ')' { "($_[2])" }
+exp:
+ NUM
+ |
+ TEXT { "\"$_[1]\"" }
+ |
+ func
+ |
+ var
+ |
+ '~' exp %prec INV { "~$_[2]" }
+ |
+ exp '+' exp { "$_[1] + $_[3]" }
+ |
+ exp '-' exp { "$_[1] - $_[3]" }
+ |
+ exp '*' exp { "$_[1] * $_[3]" }
+ |
+ exp '%' exp { "$_[1] % $_[3]" }
+ |
+ exp '<' exp { "$_[1] < $_[3]" }
+ |
+ exp '>' exp { "$_[1] > $_[3]" }
+ |
+ exp '|' exp { "$_[1] | $_[3]" }
+ |
+ exp '==' exp { "$_[1] == $_[3]" }
+ |
+ exp '<=' exp { "$_[1] <= $_[3]" }
+ |
+ exp '=>' exp { "$_[1] => $_[3]" }
+ |
+ exp '<<' exp { "$_[1] << $_[3]" }
+ |
+ exp '>>' exp { "$_[1] >> $_[3]" }
+ |
+ exp '!=' exp { "$_[1] != $_[3]" }
+ |
+ exp '||' exp { "$_[1] || $_[3]" }
+ |
+ exp '&&' exp { "$_[1] && $_[3]" }
+ |
+ exp '&' exp { "$_[1] & $_[3]" }
+ |
+ exp '?' exp ':' exp { "$_[1]?$_[3]:$_[5]" }
+ |
+ '~' exp { "~$_[1]" }
+ |
+ '!' exp { "not $_[1]" }
+ |
+ exp '/' exp { "$_[1] / $_[3]" }
+ |
+ '-' exp %prec NEG { "-$_[2]" }
+ |
+ '&' exp %prec ADDROF { "&$_[2]" }
+ |
+ exp '^' exp { "$_[1]^$_[3]" }
+ |
+ '(' exp ')' { "($_[2])" }