【发布时间】:2019-06-07 00:21:20
【问题描述】:
我正在制作解析器的东西,我想在我的代码中进行一些“键入”以进行类型提示。但是,文件的类已被相互引用和继承。所以,我的代码现在是意大利面条:(
我已经尝试了很多可以制作的案例。我在一节课上尝试了所有内容,然后更改了顺序。但是,一切都没有改变。尽管如此,还是得到了一些“未解决的参考”的错误
from abc import ABC, abstractmethod
class Expression(ABC):
class Visitor(ABC):
@abstractmethod
def visit_assign(self, expr: Assign):
pass
@abstractmethod
def accept(self, visitor: Visitor):
pass
class Assign(Expression):
def accept(self, visitor: Visitor):
# ...
Assign 的声明晚于访问者类。因此,会出现“未解析的引用”错误。
【问题讨论】:
标签: python compiler-construction interpreter type-hinting