diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2019-11-19 22:25:19 -0800 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2019-11-19 22:25:19 -0800 |
commit | 98fe899f21eadf2eff1aa455c6f77edd09ff717f (patch) | |
tree | 5697919bda7ef048534395a904306aa6d573480d /parser.y | |
parent | 851b41f0ede8b0731df6bfd39fbaf2d38414cb40 (diff) | |
download | txr-98fe899f21eadf2eff1aa455c6f77edd09ff717f.tar.gz txr-98fe899f21eadf2eff1aa455c6f77edd09ff717f.tar.bz2 txr-98fe899f21eadf2eff1aa455c6f77edd09ff717f.zip |
parser: forgotten top-level .? cases.
* parser.y (hash_semi_or_n_expr, hash_semi_or_i_expr): We need
to handle OREFDOT here so that .?sym can parse as a
top-level expression. Issue reported by vapnik spaknik.
Diffstat (limited to 'parser.y')
-rw-r--r-- | parser.y | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -211,8 +211,12 @@ hash_semi_or_n_expr : HASH_SEMI { parser->ignore = 1; } | HASH_SEMI '.' { parser->ignore = 1; } n_expr { parser->ignore = 0; $$ = nao; } + | HASH_SEMI OREFDOT { parser->ignore = 1; } + n_expr { parser->ignore = 0; + $$ = nao; } | n_expr { $$ = $1; } | '.' n_expr { $$ = uref_helper(parser, $2); } + | OREFDOT n_expr { $$ = uoref_helper(parser, $2); } ; hash_semi_or_i_expr : HASH_SEMI { parser->ignore = 1; } @@ -221,8 +225,12 @@ hash_semi_or_i_expr : HASH_SEMI { parser->ignore = 1; } | HASH_SEMI '.' { parser->ignore = 1; } i_expr { parser->ignore = 0; $$ = nao; } + | HASH_SEMI OREFDOT { parser->ignore = 1; } + i_expr { parser->ignore = 0; + $$ = nao; } | i_expr { $$ = $1; } | '.' i_expr { $$ = uref_helper(parser, $2); } + | OREFDOT i_expr { $$ = uoref_helper(parser, $2); } ; |