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根据你的要求,我编辑了它。