From 0306182b9bcafa7f850dd91aa196ae7d562d2254 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 8 Jan 2012 09:01:44 +1000 Subject: Use character classes, some clean up. Tried to add space storing, but it did not work. --- LuaSL/src/LuaSL_yaccer.y | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'LuaSL/src/LuaSL_yaccer.y') diff --git a/LuaSL/src/LuaSL_yaccer.y b/LuaSL/src/LuaSL_yaccer.y index 75cfd78..57d3075 100644 --- a/LuaSL/src/LuaSL_yaccer.y +++ b/LuaSL/src/LuaSL_yaccer.y @@ -9,9 +9,12 @@ %define api.pure -%token LSL_INTEGER +%token LSL_SPACE %nonassoc LSL_STATEMENT + +%token LSL_INTEGER + %left LSL_BOOL_AND %left LSL_BOOL_OR %left LSL_BIT_AND LSL_BIT_XOR LSL_BIT_OR @@ -20,19 +23,25 @@ %left LSL_LEFT_SHIFT LSL_RIGHT_SHIFT %left LSL_SUBTRACT LSL_ADD %left LSL_DIVIDE LSL_MODULO LSL_MULTIPLY + %right LSL_BIT_NOT LSL_BOOL_NOT LSL_NEGATION %token LSL_PARENTHESIS_OPEN LSL_PARENTHESIS_CLOSE LSL_EXPRESSION %type expr - %type statement +%type ignorable %% input : expr { ((LuaSL_yyparseParam*)data)->ast = addOperation(LSL_EXPRESSION, $1, $1); } | statement { ((LuaSL_yyparseParam*)data)->ast = addStatement($1, ((LuaSL_yyparseParam*)data)->ast); } + | ignorable { ((LuaSL_yyparseParam*)data)->ast = addSpace($1, ((LuaSL_yyparseParam*)data)->ast); } +; + +ignorable : + LSL_SPACE { $$ = strdup($1); } ; statement : -- cgit v1.1