我想创建一个树梢语法。我创建了规则来匹配文件中我感兴趣的部分。
grammar Sexp
rule bodies
body+
end
rule body
commentPortString (ifdef_blocks / interface)+ (!newLine)
end
...
end
如何在文件上运行此代码以提取bodies
并忽略我不关心的其他部分,还是我还需要最终为这些部分编写规则?
预先感谢
答案 0 :(得分:1)
在PEG语法中,重复匹配不属于规则.
的任何字符!body
是常见的习惯用法。像这样:
rule bodies
((!body .)* body)+ (!body .)*
end