0
我想做的語義檢查的語言,我用ANTLR4生成解析器和訪問者類。但是我遇到了一個問題。 如果我用這個方法print(type(newList[0].expression()))
我會得到一個類型這樣<class 'IDILParser.IDILParser.IdenetExpressionContext'>
但是,如果我運行下面的代碼,我會得到這樣的NameError: name 'IDILParser' is not defined
我可以問如何解決這個問題的一個錯誤?謝謝!Python類型沒有定義
from antlr4 import *
if __name__ is not None and "." in __name__:
from .IDILParser import IDILParser
else:
from IDILParser import IDILParser
class IDILVisitor(ParseTreeVisitor):
def visitAssign(self, ctx:IDILParser.AssignContext):
if type(newList[0].expression()) is IDILParser.IDILParser.IdenetExpressionContext:
...
我想檢查newList [0] .expression()的類型是否爲IDILParser.IdenetExpressionContext。我可以問怎麼做?謝謝! – FRANKfisher
您是否嘗試過我的代碼?請注意,第一個** IDILParser **被刪除。 – Jeronimo
你解決了這個問題嗎?我有一個類似的問題。 @Jeronimo你的解決方案不起作用。 「NameError」,名稱'IdilParser'未定義。 – user3142434