diff options
Diffstat (limited to 'LuaSL/src/LuaSL_lemon_yaccer.y')
-rw-r--r-- | LuaSL/src/LuaSL_lemon_yaccer.y | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/LuaSL/src/LuaSL_lemon_yaccer.y b/LuaSL/src/LuaSL_lemon_yaccer.y index 54af56d..881bdaf 100644 --- a/LuaSL/src/LuaSL_lemon_yaccer.y +++ b/LuaSL/src/LuaSL_lemon_yaccer.y | |||
@@ -54,13 +54,14 @@ function(A) ::= type(B) LSL_IDENTIFIER(C) LSL_PARENTHESIS_OPEN(D) parameterList( | |||
54 | 54 | ||
55 | block(A) ::= funcBlock(B). { A = B; } | 55 | block(A) ::= funcBlock(B). { A = B; } |
56 | block(A) ::= statement(B). { A = B; } | 56 | block(A) ::= statement(B). { A = B; } |
57 | funcBlock ::= LSL_BLOCK_OPEN statementList LSL_BLOCK_CLOSE. | 57 | funcBlock(A) ::= LSL_BLOCK_OPEN statementList(B) LSL_BLOCK_CLOSE. { A = B; } |
58 | 58 | ||
59 | // Various forms of statement. | 59 | // Various forms of statement. |
60 | 60 | ||
61 | %nonassoc LSL_STATEMENT. | 61 | %nonassoc LSL_STATEMENT. |
62 | statementList ::= statementList statement. | 62 | statementList(A) ::= statementList(B) statement(C). { A = collectStatements(compiler, B, C); } |
63 | statementList ::= . | 63 | //statementList(A) ::= statement(C). { A = collectStatements(compiler, NULL, C); } |
64 | statementList(A) ::= . { A = collectStatements(compiler, NULL, NULL); } | ||
64 | 65 | ||
65 | %nonassoc LSL_DO LSL_FOR LSL_ELSE_IF LSL_IF LSL_JUMP LSL_RETURN LSL_STATE_CHANGE LSL_WHILE. | 66 | %nonassoc LSL_DO LSL_FOR LSL_ELSE_IF LSL_IF LSL_JUMP LSL_RETURN LSL_STATE_CHANGE LSL_WHILE. |
66 | %nonassoc LSL_ELSE. | 67 | %nonassoc LSL_ELSE. |