Browse Source

Reverting indentation fix

master
mtardy 4 years ago
parent
commit
736acd9595
1 changed files with 23 additions and 23 deletions
  1. +23
    -23
      calc.leg

+ 23
- 23
calc.leg View File

@ -1,7 +1,7 @@
%{ %{
/* compile: leg -o calc.c calc.leg
* cc -o calc calc.c
/* compile: leg -o calc.c calc.leg
* cc -o calc calc.c
* *
* run: echo "2+3" | ./calc * run: echo "2+3" | ./calc
*/ */
@ -11,31 +11,31 @@ YYSTYPE yylval = 0;
%} %}
start = e:exp { yylval = e }
start = e:exp { yylval = e }
exp = - s:sum { $$ = s }
exp = - s:sum { $$ = s }
sum = PLUS* l:prod
( PLUS+ r:prod { l += r }
| MINUS r:prod { l -= r }
)* { $$ = l }
sum = PLUS* l:prod
( PLUS+ r:prod { l += r }
| MINUS r:prod { l -= r }
)* { $$ = l }
prod = l:neg prod = l:neg
( MULTI r:neg { l *= r }
| DIVIDE r:neg { l /= r }
| MODULO r:neg { l %= r }
)* { $$ = l }
neg = MINUS n:neg { $$ = -n }
| n:NUMBER { $$ = n }
- = [ \t]*
NUMBER = < [0-9]+ > - { $$ = atoi(yytext) }
PLUS = '+' -
MINUS = '-' -
MULTI = '*' -
DIVIDE = '/' -
MODULO = '%' -
( MULTI r:neg { l *= r }
| DIVIDE r:neg { l /= r }
| MODULO r:neg { l %= r }
)* { $$ = l }
neg = MINUS n:neg { $$ = -n }
| n:NUMBER { $$ = n }
- = [ \t]*
NUMBER = < [0-9]+ > - { $$ = atoi(yytext) }
PLUS = '+' -
MINUS = '-' -
MULTI = '*' -
DIVIDE = '/' -
MODULO = '%' -
%% %%
int main(int argc, char **argv) int main(int argc, char **argv)

Loading…
Cancel
Save