J'ai essayé d'apprendre OMeta en utilisant OMeta/JS et je semble être coincé sur quelque chose qui devrait être vraiment simple. Si j'ai une grammaireComment faire correspondre un mot avec OMetaJS?
ometa L <: Parser {
l letter:l -> l
}
L.match('h', 'l')
Il produit le résultat attendu
h
Je peux aussi utiliser
ometa W1 <: Parser {
ls letter*:ls -> ls
}
W1.matchAll('hi', 'ls')
qui produit
[h, i]
Mais lorsque je tente d'analyser un mot entier en utilisant
ometa W2 <: Parser {
word letter:l word:w -> (l + w)
| letter:l -> l
}
W2.match('hi', 'word')
//Also tried W2.matchAll('hi', 'word')
Je reçois une erreur
match failed { errorPos=61 }
Qu'est-ce que je comprends mal, et comment puis-je fixer le W2 Grammer à la sortie 'salut'?
Ceci est un bug qui a probablement déjà été résolu. J'ai vérifié votre exemple sur ma page de test oMeta (http://ruediger-plantiko.net/ometa/), et cela fonctionne sans signe égal (je dois appeler l'objet M dans ma page de test - mais ce n'est pas pertinent). – rplantiko