将 JavaScript 进入和退出方法翻译成 Python
Translate JavaScript enter and exit methods into Python
我正在尝试将 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?
谢谢。
您将在下一个文件“4-tranformer.js”中找到它。 enter
和 exit
只是 visitor
中对象 methods
的方法。注意这段平安代码:
// 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
,如果有则调用它们。
我正在尝试将 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? 谢谢。
您将在下一个文件“4-tranformer.js”中找到它。 enter
和 exit
只是 visitor
中对象 methods
的方法。注意这段平安代码:
// 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
,如果有则调用它们。