mirror of https://github.com/lark-parser/lark.git
Fixed bug where identical anonymous tokens got separate names
This commit is contained in:
parent
b75fc45a2a
commit
ee798f81f2
|
@ -73,7 +73,7 @@ These features are planned to be implemented in the near future:
|
|||
|
||||
## Comparison to other parsers
|
||||
|
||||
This is a feature comparison. For benchmarks vs pyparsing, check out the [JSON tutorial](/docs/json_tutorial.md#conclusion).
|
||||
This is a feature comparison. For benchmarks vs other parsers, check out the [JSON tutorial](/docs/json_tutorial.md#conclusion).
|
||||
|
||||
| Library | Algorithm | LOC | Grammar | Builds tree?
|
||||
|:--------|:----------|:----|:--------|:------------
|
||||
|
|
|
@ -261,6 +261,7 @@ class ExtractAnonTokens(InlineTransformer):
|
|||
|
||||
elif token.type == 'REGEXP':
|
||||
token_name = 'ANONRE_%d' % self.i
|
||||
value = token.value
|
||||
self.i += 1
|
||||
else:
|
||||
assert False, x
|
||||
|
@ -268,6 +269,8 @@ class ExtractAnonTokens(InlineTransformer):
|
|||
if token_name not in self.token_set:
|
||||
self.token_set.add(token_name)
|
||||
self.tokens.append((token_name, token, []))
|
||||
assert value not in self.token_reverse
|
||||
self.token_reverse[value] = token_name
|
||||
|
||||
return Token('TOKEN', token_name, -1)
|
||||
|
||||
|
|
Loading…
Reference in New Issue