Преглед изворни кода

Allow using | on terminals with flags, as long as their flags match

tags/gm/2021-09-23T00Z/github.com--lark-parser-lark/0.5.1
Erez Shinan пре 6 година
родитељ
комит
59825260f6
1 измењених фајлова са 3 додато и 2 уклоњено
  1. +3
    -2
      lark/load_grammar.py

+ 3
- 2
lark/load_grammar.py Прегледај датотеку

@@ -368,8 +368,9 @@ class TokenTreeToPattern(Transformer):
def expansions(self, exps):
if len(exps) == 1:
return exps[0]
assert all(not i.flags for i in exps)
return PatternRE('(?:%s)' % ('|'.join(i.to_regexp() for i in exps)))
if len({i.flags for i in exps}) > 1:
raise GrammarError("Lark doesn't support joining tokens with conflicting flags!")
return PatternRE('(?:%s)' % ('|'.join(i.to_regexp() for i in exps)), exps[0].flags)

def expr(self, args):
inner, op = args


Loading…
Откажи
Сачувај