L'analyse d'un mot réservé dans l'Analyse Expressive de la Grammaire (PEG.js)
Question
L' question similaire et la site web de l'auteur donnez-moi des solutions de ce type:
Identifier "identifier"
= !ReservedWord [A-Za-z_]+
ReservedWord
= "test"
/ "abc"
Cette solution ne peut pas analyser un identificateur de type "test_var".
Dans cet exemple, la grammaire !ReservedWord sera exclusif de toutes les variables commençant par "test" ou "abc".
Merci à l'avance.
La solution
ReservedWord
réussit, lorsqu'un mot réservé est complète, indépendamment de ce qui suit.Donc la solution est de faire échouer quand il n'y a plus de match, qui comprend plus de l'identificateur de caractères:
Identifier "identifier"
= !ReservedWord [A-Za-z_]+
ReservedWord
= ( "test" / "abc" ) ![A-Za-z_]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow