aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/LuaSL/src/LuaSL_lemon_yaccer.y
diff options
context:
space:
mode:
authorDavid Walter Seikel2012-01-21 12:31:56 +1000
committerDavid Walter Seikel2012-01-21 12:31:56 +1000
commit0d4da92f1e19d786d8ac9a1ff10270d2eca46765 (patch)
tree66f8f8a784179086d83d5cc793831389ccf51854 /LuaSL/src/LuaSL_lemon_yaccer.y
parentFix up the comments to match the code, and add more. (diff)
downloadSledjHamr-0d4da92f1e19d786d8ac9a1ff10270d2eca46765.zip
SledjHamr-0d4da92f1e19d786d8ac9a1ff10270d2eca46765.tar.gz
SledjHamr-0d4da92f1e19d786d8ac9a1ff10270d2eca46765.tar.bz2
SledjHamr-0d4da92f1e19d786d8ac9a1ff10270d2eca46765.tar.xz
More stuff for parsing blocks and their statement lists.
Diffstat (limited to '')
-rw-r--r--LuaSL/src/LuaSL_lemon_yaccer.y7
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
55block(A) ::= funcBlock(B). { A = B; } 55block(A) ::= funcBlock(B). { A = B; }
56block(A) ::= statement(B). { A = B; } 56block(A) ::= statement(B). { A = B; }
57funcBlock ::= LSL_BLOCK_OPEN statementList LSL_BLOCK_CLOSE. 57funcBlock(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.
62statementList ::= statementList statement. 62statementList(A) ::= statementList(B) statement(C). { A = collectStatements(compiler, B, C); }
63statementList ::= . 63//statementList(A) ::= statement(C). { A = collectStatements(compiler, NULL, C); }
64statementList(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.