Pegjs: 从 peg 解析器中恢复语法

创建于 2019-07-05  ·  1评论  ·  资料来源: pegjs/pegjs

有没有人将 peg 的输出转换回输入语法?

描述

我最近继承了一个使用 PEG 的项目。 我们有 PEG 解析器,但源语法似乎丢失或丢失。 是否可以仅从 PEG 解析器代码中恢复语法?

重现步骤

  1. 给定一个 peg解析器
  2. 恢复源语法

软件

  • PEG.js:0.10.0
  • Node.js:12.6.0

最有用的评论

这个过程非常简单,可以手动完成。

  • 每个规则都是一个以peg$parse开头的函数。
  • 每一个
} else {
    peg$currPos = s#;
    s# = peg$FAILED;
}

表示序列中有一个项目。

  • while (s# !== peg$FAILED)都是重复。
  • 每个if (s# === peg$FAILED)都是一个选择的替代分支。

>所有评论

这个过程非常简单,可以手动完成。

  • 每个规则都是一个以peg$parse开头的函数。
  • 每一个
} else {
    peg$currPos = s#;
    s# = peg$FAILED;
}

表示序列中有一个项目。

  • while (s# !== peg$FAILED)都是重复。
  • 每个if (s# === peg$FAILED)都是一个选择的替代分支。
此页面是否有帮助?
0 / 5 - 0 等级