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 | f30d8a13f0d022fca7127c88258c884047e28cf8 (patch) | |
tree | 5697919bda7ef048534395a904306aa6d573480d | |
parent | fc6285604f2a005e6479b692b7395552cb0d1501 (diff) | |
download | txr-f30d8a13f0d022fca7127c88258c884047e28cf8.tar.gz txr-f30d8a13f0d022fca7127c88258c884047e28cf8.tar.bz2 txr-f30d8a13f0d022fca7127c88258c884047e28cf8.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.
-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); } ; |