我正在尝试将James Kyle的The Super Tiny Compiler从JavaScript翻译成Python。
但是我无法理解JavaScript的输入和退出方法:
1)
// If there is an `enter` method for this node type we'll call it with the
// `node` and its `parent`.
if (methods && methods.enter) {
methods.enter(node, parent);
}
2)
// If there is an `exit` method for this node type we'll call it with the
// `node` and its `parent`.
if (methods && methods.exit) {
methods.exit(node, parent);
}
如何将这两种方法转换为Python? 谢谢。
答案 0 :(得分:0)
您将在下一个文件" 4-transformer.js"中找到它。 enter
和exit
只是methods
中对象visitor
的方法。注意代码的和平:
// We start by testing for the existence of a method on the visitor with a
// matching `type`.
let methods = visitor[node.type];
在您发布的代码中,我们只检查methods
对象是否有方法exit
或enter
,如果有,请调用它们。