Jison语法用于类似玉的语法

时间:2017-05-19 13:24:37

标签: parsing jison

我试图用缩进/ dedent实现jade语法的语法:

div
  p id="text"

但我对EOF有疑问:

Error: Parse error on line 4:
div  p id="text"
----------------^
Expecting 'DEDENT', 'IDENTIFIER', got 'EOF'

语法:https://gist.github.com/antonmedv/7615a5322dec1736db60a87897f17f01

我做错了什么?

1 个答案:

答案 0 :(得分:0)

只有当您看到一行中的第一个非空白字符时,才会生成DEDENT标记。在EOF,没有这样的角色,因此最终的DEDENT永远不会生成。您的语法需要DEDENT,因此您在EOF时会出现语法错误。

您的EOF规则必须在报告文件结尾之前刷新缩进堆栈。