浏览代码

Raise correct error when terminal is used within another terminal, by not defined

tags/gm/2021-09-23T00Z/github.com--lark-parser-lark/0.11.3
Erez Sh 3 年前
父节点
当前提交
e56efad1fe
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. +4
    -1
      lark/load_grammar.py

+ 4
- 1
lark/load_grammar.py 查看文件

@@ -743,7 +743,10 @@ def resolve_term_references(term_dict):
if item.type == 'RULE':
raise GrammarError("Rules aren't allowed inside terminals (%s in %s)" % (item, name))
if item.type == 'TERMINAL':
term_value = term_dict[item]
try:
term_value = term_dict[item]
except KeyError:
raise GrammarError("Terminal used but not defined: %s" % item)
assert term_value is not None
exp.children[0] = term_value
changed = True


正在加载...
取消
保存