[英]How can I create a goto expression in xtext?
我想創建一個goto表達式如下
//label
<bb 2> :
//goto
goto <bb 2>;
以下語法適用於簡單 ID。 我不知道如何在 goto 表達式中引用<ID INT>
。
Goto returns Goto:
{Goto}
'goto' goto+=[Label] ';'
;
LabelDef returns LabelDef:
{LabelDef}
label+= Label ':'
;
Label returns Label:
{Label}
name= ID
;
你知道怎么做嗎?
我認為您想要一個本質上是“ID INT”的終端,然后使用它來交叉引用您的 Label。 我認為這將是很多工作,只是為了能夠在標簽中允許“空格”。 為什么不簡單地依賴終端“ID”,如果他們願意,用戶可以將它們命名為“bb2”?
您正在尋找的功能是 DataType 規則
Goto returns Goto:
{Goto}
'goto' goto+=[Label|IDandINT] ';'
;
LabelDef returns LabelDef:
{LabelDef}
label+= Label ':'
;
Label returns Label:
{Label}
name= IDandINT
;
IDandINT: ID INT;
您還可以為數據類型規則引入/自定義 DefaultTerminalConverters/IValueConverter 以規范空白
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.