0
我试图写C.树顶看起来
的一个子集解析器树梢的行为是很难分析这个简单的(进一步简化)语法一个简单的语法失败(5条规则)。
grammar Shyc
rule functionDef
type space identifier '(' ')' bloc
end
rule type
'int'
end
rule bloc
'{' '}'
end
rule identifier
[a-zA-Z] [a-zA-Z_]*
end
rule space
[\s]+
end
end
我的测试用例是 “int main()的{}”
而且从树梢的错误信息是:
error at line 1, column 9
failure reason : Expected [a-zA-Z_] at line 1, column 9 (byte 9) after
compiler.rb:25:in `parse': Parse error (RuntimeError)
from compiler.rb:73:in `<main>'enter
问题是由此围绕标识符规则...
树顶版本:1.5.3和Ruby 2.1.1
任何想法?
这对我的作品(TT 1.4.10,红宝石2.0.0p353)。也许你有一个原因导致您无法加载了最新.treetop文件遗留下来的TT-编译.RB文件?之前我曾经咬过我。 – wdebeaum
对我的作品还有,可能是与你的文件被设置方式问题。 –