diff options
author | David Walter Seikel | 2012-01-08 23:47:09 +1000 |
---|---|---|
committer | David Walter Seikel | 2012-01-08 23:47:09 +1000 |
commit | aa7be467e110de4d3757fc7e0697d89f397aea34 (patch) | |
tree | 73dc6df5109837780a20ff45486269d056b7a459 /LuaSL/src/LuaSL_yaccer.y | |
parent | Bite the bullet and get rid of my dreams to use enums, yacc insists on #defines. (diff) | |
download | SledjHamr-aa7be467e110de4d3757fc7e0697d89f397aea34.zip SledjHamr-aa7be467e110de4d3757fc7e0697d89f397aea34.tar.gz SledjHamr-aa7be467e110de4d3757fc7e0697d89f397aea34.tar.bz2 SledjHamr-aa7be467e110de4d3757fc7e0697d89f397aea34.tar.xz |
Rearrange everything, to be consistant order.
Diffstat (limited to 'LuaSL/src/LuaSL_yaccer.y')
-rw-r--r-- | LuaSL/src/LuaSL_yaccer.y | 25 |
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 | ||
37 | input : | 34 | input : |
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 | |||
40 | ignorable : | ||
41 | LSL_SPACE { $$ = strdup($1); } | ||
41 | ; | 42 | ; |
42 | 43 | ||
43 | expr : | 44 | expr : |
@@ -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 | ||
73 | ignorable : | ||
74 | LSL_SPACE { $$ = strdup($1); } | ||
75 | ; | ||
76 | |||
77 | %% | 74 | %% |
78 | 75 | ||