¿Cómo puedo crear una expresión goto en xtext?
Quiero crear una expresión goto de la siguiente manera:
//label
<bb 2> :
//goto
goto <bb 2>;
La siguiente gramática funciona bien para un ID simple. No tengo idea de cómo hacer referencia al
Goto returns Goto:
{Goto}
'goto' goto+=[Label] ';'
;
LabelDef returns LabelDef:
{LabelDef}
label+= Label ':'
;
Label returns Label:
{Label}
name= ID
;
¿Tienes alguna idea de cómo hacerlo?
davy.ai
Como experto en TI especializado en Eclipse, gramática, DSL, Xtext y definición de ir-a, sugiero modificar la regla
Label
en la gramática de la siguiente manera:Esta modificación introduce una nueva regla que permite la combinación de un ID y un INT en un token. Usando la gramática modificada, la regla
Goto
puede ser actualizada de la siguiente manera:Con esta regla
Goto
actualizada, el analizador espera que la expresióngoto
haga referencia a una etiqueta con un ID y un INT, como<bb 2="">
.