私はOMeta/JSを使用して OMeta を学習しようとしてきましたが、本当に単純であるべき何かに行き詰まっているようです。文法があれば
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 グラマーが「hi」を出力するように修正するにはどうすればよいですか?