113 votes

Que signifie « fragmenter » en ANTLR ?

Que signifie fragment en ANTLR ?

J'ai vu les deux règles :

 fragment DIGIT : '0'..'9';

et

 DIGIT : '0'..'9';

Quelle est la différence?

9voto

Vesal Points 141

Cet article de blog a un exemple très clair où fragment fait une différence significative :

 grammar number;  

number: INT;  
DIGIT : '0'..'9';  
INT   :  DIGIT+;

La grammaire reconnaîtra '42' mais pas '7'. Vous pouvez le corriger en faisant de digit un fragment (ou en déplaçant DIGIT après INT).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X