aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/LuaSL/src/LuaSL_yaccer.y
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-08 23:47:09 +1000
committerDavid Walter Seikel2012-01-08 23:47:09 +1000
commitaa7be467e110de4d3757fc7e0697d89f397aea34 (patch)
tree73dc6df5109837780a20ff45486269d056b7a459 /LuaSL/src/LuaSL_yaccer.y
parentBite the bullet and get rid of my dreams to use enums, yacc insists on #defines. (diff)
downloadSledjHamr-aa7be467e110de4d3757fc7e0697d89f397aea34.zip
SledjHamr-aa7be467e110de4d3757fc7e0697d89f397aea34.tar.gz
SledjHamr-aa7be467e110de4d3757fc7e0697d89f397aea34.tar.bz2
SledjHamr-aa7be467e110de4d3757fc7e0697d89f397aea34.tar.xz
Rearrange everything, to be consistant order.
Diffstat (limited to '')
-rw-r--r--LuaSL/src/LuaSL_yaccer.y25
1 files changed, 11 insertions, 14 deletions
diff --git a/LuaSL/src/LuaSL_yaccer.y b/LuaSL/src/LuaSL_yaccer.y
index 0b87df4..7f873c2 100644
--- a/LuaSL/src/LuaSL_yaccer.y
+++ b/LuaSL/src/LuaSL_yaccer.y
@@ -9,12 +9,11 @@
9 9
10%define api.pure 10%define api.pure
11 11
12%token <spaceValue> LSL_SPACE
13
14%nonassoc LSL_STATEMENT
15 12
16%token <integerValue> LSL_INTEGER 13%type <spaceValue> ignorable
14%token <spaceValue> LSL_SPACE
17 15
16%type <expressionValue> expr
18%left LSL_BOOL_AND 17%left LSL_BOOL_AND
19%left LSL_BOOL_OR 18%left LSL_BOOL_OR
20%left LSL_BIT_AND LSL_BIT_XOR LSL_BIT_OR 19%left LSL_BIT_AND LSL_BIT_XOR LSL_BIT_OR
@@ -23,21 +22,23 @@
23%left LSL_LEFT_SHIFT LSL_RIGHT_SHIFT 22%left LSL_LEFT_SHIFT LSL_RIGHT_SHIFT
24%left LSL_SUBTRACT LSL_ADD 23%left LSL_SUBTRACT LSL_ADD
25%left LSL_DIVIDE LSL_MODULO LSL_MULTIPLY 24%left LSL_DIVIDE LSL_MODULO LSL_MULTIPLY
26
27%right LSL_BIT_NOT LSL_BOOL_NOT LSL_NEGATION 25%right LSL_BIT_NOT LSL_BOOL_NOT LSL_NEGATION
28
29%token LSL_PARENTHESIS_OPEN LSL_PARENTHESIS_CLOSE LSL_EXPRESSION 26%token LSL_PARENTHESIS_OPEN LSL_PARENTHESIS_CLOSE LSL_EXPRESSION
27%token <integerValue> LSL_INTEGER
30 28
31%type <expressionValue> expr
32%type <statementValue> statement 29%type <statementValue> statement
33%type <spaceValue> ignorable 30%nonassoc LSL_STATEMENT
34 31
35%% 32%%
36 33
37input : 34input :
38 expr { ((LuaSL_yyparseParam*)data)->ast = addOperation(LSL_EXPRESSION, $1, $1); } 35 ignorable { ((LuaSL_yyparseParam*)data)->ast = addSpace($1, ((LuaSL_yyparseParam*)data)->ast); }
36 | expr { ((LuaSL_yyparseParam*)data)->ast = addOperation(LSL_EXPRESSION, $1, $1); }
39 | statement { ((LuaSL_yyparseParam*)data)->ast = addStatement($1, ((LuaSL_yyparseParam*)data)->ast); } 37 | statement { ((LuaSL_yyparseParam*)data)->ast = addStatement($1, ((LuaSL_yyparseParam*)data)->ast); }
40 | ignorable { ((LuaSL_yyparseParam*)data)->ast = addSpace($1, ((LuaSL_yyparseParam*)data)->ast); } 38;
39
40ignorable :
41 LSL_SPACE { $$ = strdup($1); }
41; 42;
42 43
43expr : 44expr :
@@ -70,9 +71,5 @@ statement :
70 expr LSL_STATEMENT { $$ = createStatement(LSL_EXPRESSION, $1); } 71 expr LSL_STATEMENT { $$ = createStatement(LSL_EXPRESSION, $1); }
71; 72;
72 73
73ignorable :
74 LSL_SPACE { $$ = strdup($1); }
75;
76
77%% 74%%
78 75