我有一个像这样的语法片段
expr: left=expr '=' right=expr #exprassign
| atom #expratom
;
atom: TEXT
| ID
;
TEXT: '\''(.)*?'\'';
ID:[A-Z]+;
在我的访客方法中
visitExprAtom()
如何找到当前的getparent上下文。让我们说我的方法在左侧工作说它来自另一个是从正确的
当我知道它来自左翼或右翼时,我需要改变我的方法
感谢。
修改
我们假设我有一个代码段。
var varcompany='C1';// Creates an variable named company initialated C1
SELECT * FROM TABLE
WHERE COMPANY = varcompany; //COMPANY ='C1'
高于expr语法正在解析COMPANY = varcompany
这种方法我的解析器认为COMPANY是一个变量,并试图在我的地图中找到它。或者我使用原子表达式其他Dsl scenerios,我需要它的表现不同。在SQL上它必须像 &#39; C1&#39; 一样返回,但其他场景必须返回 C1 < / p>