jide-like语法的Jison语法

Jison grammar for jade-like syntax

我正在尝试使用 indent/dedent:

为 jade like 语法实现语法
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

我做错了什么?

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

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