【发布时间】:2012-04-09 11:21:33
【问题描述】:
我有一些使用 ANTLR 编写解析器的经验,我正在尝试(用于自学:))将其中一个移植到 PEG(解析表达式语法)。
当我试图了解这个想法时,有一件事让我觉得很麻烦,以至于我觉得我错过了一些东西:如何处理空白。
在 ANTLR 中,处理空格和 cmets 的常规方法是将标记放在隐藏通道中,但 PEG 语法没有标记化步骤。考虑到 C 或 Java 等语言几乎在任何地方都允许使用 cmets,因此希望立即“隐藏” cmets,但由于 cmets 可能具有语义含义(例如,在生成代码文档、类图等时),因此一个不只是想丢弃它们。
那么,有没有办法解决这个问题?
【问题讨论】:
标签: parser-generator peg