add % operator

This commit is contained in:
Pascal Brisset
2009-08-28 07:53:35 +00:00
parent 42884ab2e6
commit 32da02e321
2 changed files with 4 additions and 3 deletions
+1
View File
@@ -23,6 +23,7 @@ rule token = parse
| "&&" { AND }
| "||" { OR }
| ">" { GT }
| "%" { MOD }
| ">=" { GEQ }
| "+" { PLUS }
| "=" { ASSIGN }
+3 -3
View File
@@ -9,13 +9,12 @@ open Fp_syntax
%token COMMA SEMICOLON LP RP LC RC LB RB AND COLON OR
%token EQ GT ASSIGN GEQ NOT
%token PLUS MINUS
%token MULT DIV
%token MULT DIV MOD
%left AND OR /* lowest precedence */
%left EQ GT ASSIGN GEQ
%left PLUS MINUS
%left MULT DIV
%left MULT DIV MOD
%nonassoc NOT
%nonassoc UMINUS /* highest precedence */
@@ -34,6 +33,7 @@ expression:
| expression MINUS expression { CallOperator ("-",[$1;$3]) }
| expression MULT expression { CallOperator ("*",[$1;$3]) }
| expression DIV expression { CallOperator ("/",[$1;$3]) }
| expression MOD expression { CallOperator ("%",[$1;$3]) }
| MINUS expression %prec UMINUS { CallOperator ("-",[$2]) }
| NOT expression { CallOperator ("!",[$2]) }
| INT { Int $1 }