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
對我的作品還有,可能是與你的文件被設置方式問題。 –