J'ai vraiment simple DSL défini dans ANTLR comme ceci.ANTLR comment créer un jeton "reste de celui-ci"
grammar Transformer;
fragment Digit : [0-9];
Amp:'\'';
Left:'(';
Right: ')';
Comma: ',';
Id: [A-Za-z][a-zA-Z0-9]+;
Int: '-'? Digit+;
WS: [\n\r\t]+ ->skip;
FuncStart: '>';
DataStart: '#';
parse: (datainput | function)+;
qoutedtext: Amp .*? Amp;
datainput: DataStart Id;
function: FuncStart Id Left param (Comma param)* Right;
param: (datainput|function|qoutedtext|Int);
Lors de l'analyse de ce texte
#Id;>ToUpper(#Name);ThisShouldEndUpAsAToken>FillLeft(#EmpNo,20,'abc')
Ceci est le « arbre » je reçois:
L'arbre semble que attendues d', sauf que je ne suis pas en mesure de prendre le tekst ThisShouldEndUpAsAToken en tant que jeton. Je sais que je n'ai aucune analyse dans le grammer qui devrait le faire maintenant, mais je ne suis pas capable de comprendre comment le faire.
HEEELP :)