Antlr4 getParent当前上下文

Antlr4 getParent当前上下文,antlr4,Antlr4,我有这样一段语法片段 expr: left=expr '=' right=expr #exprassign | atom #expratom ; atom: TEXT | ID ; TEXT: '\''(.)*?'\''; ID:[A-Z]+; 用我的访客方法 visitExprAtom() 如何找到当前的getparent上下文。假设我的方法在左边起作用,从左边说,从右边说 我需要改变我的方法,当我知道它是从左还是从右 谢谢 编辑: 假设我有一个代

我有这样一段语法片段

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场景的atom表达式,我需要它以不同的方式运行。在SQL上,它必须返回像'C1',但在其他场景中,它必须返回C1

对不起,您的描述+问题对我来说没有多大意义。你能重新解释一下你想要的是什么吗?很明显,你想对解析器规则上下文的父级做些什么,但是什么呢?@MikeLischke根据你的要求,我编辑了它。