Antlr4 getParent当前上下文

时间:2018-06-12 07:17:57

标签: antlr4

我有一个像这样的语法片段

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>

0 个答案:

没有答案