From 6944e19e75467d92140174e979898f35659f9dc6 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Fri, 19 Feb 2016 23:51:10 -0500 Subject: Fix T_LBRACE, T_RBRACE, and T_BANG recognition --- diff --git a/parsing/lexer.sh b/parsing/lexer.sh index 003ee30..52aedea 100644 --- a/parsing/lexer.sh +++ b/parsing/lexer.sh @@ -513,7 +513,7 @@ accept() # reserved words. for rw in T_IF T_THEN T_ELSE T_ELIF T_FI T_DO T_DONE \ T_CASE T_ESAC T_WHILE T_UNTIL T_FOR \ - T_IN; do + T_LBRACE T_RBRACE T_BANG T_IN; do if [ "x${tok#T_WORD${US}}" = \ "x$(tokname "${rw}")" ]; then tok="${rw}" @@ -529,7 +529,7 @@ accept() # Verify that the word doesn't match any reserved words. for rw in T_IF T_THEN T_ELSE T_ELIF T_FI T_DO T_DONE \ T_CASE T_ESAC T_WHILE T_UNTIL T_FOR \ - T_IN; do + T_LBRACE T_RBRACE T_BANG T_IN; do if [ "x${tok#T_WORD${US}}" = \ "x$(tokname "${rw}")" ]; then tok="${rw}" diff --git a/parsing/parse.sh b/parsing/parse.sh index 1f638e0..542f5ea 100644 --- a/parsing/parse.sh +++ b/parsing/parse.sh @@ -440,6 +440,6 @@ try() #try 'foo ${^}' #try 'foo `bar`' #try 'foo &&' -#try '{ foo ; }' +try '{ foo; }' #try '( foo )' -try 'for i in 1 2 3; do stuff; done' +#try 'for i in 1 2 3; do stuff; done' -- cgit v0.9.1