1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
//%default-actions quiet
%filenames parser
%scanner ../scanner/scanner.h
//%debug
// %print-tokens
%token-path ../tokens/tokens.h
%baseclass-preinclude "preinclude.h"
%include inc/polymorphic
%token BOOL BREAK CONTINUE ELSE EXIT FOR IDENTIFIER IF INT LIST NUMBER RETURN
STRING STRINGTYPE VOID WHILE
%right '=' MATH_IS
%right '?' ':'
%left OR
%left AND
%left '|'
%left '^'
%left '&'
%left EQUALITY
%left ORDER
%left SHIFT
%left '+' '-'
%left MULTIPLY
%right '!' '~' INCDEC
%left '['
// highest precedence
%expect 1
%%
input:
input
defVarOrFun
|
defVarOrFun
;
%include inc/syntax //
%include inc/opvalue //
%include inc/opencurly //
%include inc/closecurly //
%include inc/closeparenbreakok
%include inc/vartype //
%include inc/string //
%include inc/cast //
%include inc/identifier //
%include inc/args //
%include inc/definevar //
%include inc/globalvars //
%include inc/localvars //
%include inc/expression //
%include inc/condition //
%include inc/optcondition //
%include inc/returnstatement //
%include inc/whilestatement
%include inc/flowargs //
%include inc/flowinit //
%include inc/optinit //
%include inc/forstatement
%include inc/ifstatement //
%include inc/statement //
%include inc/statements //
%include inc/functiondef //
%include inc/defvarorfun //
|