我使用jison用 JavaScript为一种小型语言编写了一个解释器,它是 bison 的 JS 端口。该语言用于评估表达式和条件。现在评估与解析混合在一起。
我正在尝试优化它,瓶颈是词法分析器和解析器。所以我决定事先解析它,只在运行时进行评估。
问题是哪个更快或更清洁,之前生成 JS 代码然后只运行它还是生成 AST 并在运行时对其进行迭代?
我使用jison用 JavaScript为一种小型语言编写了一个解释器,它是 bison 的 JS 端口。该语言用于评估表达式和条件。现在评估与解析混合在一起。
我正在尝试优化它,瓶颈是词法分析器和解析器。所以我决定事先解析它,只在运行时进行评估。
问题是哪个更快或更清洁,之前生成 JS 代码然后只运行它还是生成 AST 并在运行时对其进行迭代?