4
我一直在努力學習使用OMeta/JS的OMeta,我似乎陷入了一些應該非常簡單的事情。如果我有一個語法如何使用OMetaJS匹配單詞?
ometa L <: Parser {
l letter:l -> l
}
L.match('h', 'l')
它產生預期的輸出
h
我還可以使用
ometa W1 <: Parser {
ls letter*:ls -> ls
}
W1.matchAll('hi', 'ls')
將會產生
[h, i]
但是,當我嘗試解析整個單詞使用
ometa W2 <: Parser {
word letter:l word:w -> (l + w)
| letter:l -> l
}
W2.match('hi', 'word')
//Also tried W2.matchAll('hi', 'word')
我得到一個錯誤
match failed { errorPos=61 }
我是什麼誤會,我怎麼解決W2語法輸出「喜」?
這是一個可能已經被解決的錯誤。我在我的oMeta測試頁面(http://ruediger-plantiko.net/ometa/)上檢查了你的例子,它的工作原理沒有等號(必須在我的測試頁面中調用對象M--但這是無關緊要的)。 – rplantiko 2013-06-24 15:10:09