Tag: treetop

识别Treetop语法中的Ruby代码

我正在尝试使用Treetop来解析ERB文件。 我需要能够处理如下行: 由于Treetop是用Ruby编写的,你用Ruby编写Treetop语法,Treetop中已经有一些现有方法可以说“嘿,在这里查找Ruby代码,并给我分解”,而不必编写单独的规则来处理Ruby语言的所有部分? 我正在寻找一种方法,在我的.treetop语法文件中,有类似的东西: rule erb_tag “” { def content … end } end 其中ruby_code由Treetop提供的某些规则处理。 编辑: 其他人使用Ruby-lex解析ERB,但是我在尝试重现他所做的事情时遇到了错误。 在生成解析器类时,rlex程序没有生成完整的类。 编辑:对,所以你很多都很郁闷,但感谢你的信息。 :)对于我的Master的项目,我正在编写一个测试用例生成器,需要使用ERB作为输入。 幸运的是,出于我的目的,我只需要识别ERB代码中的一些内容,例如if语句和其他条件以及循环。 我想我可以提出Treetop语法来匹配它,但需要注意的是Ruby并不完整。