作为学校的项目,我必须制作一个JavaScript解释器。 (包括整个后端都必须由我制作)。基于Java的JavaScript解释器
一切都必须用Java编写 - 我使用ANTLR来解析和生成AST。
当前我可以解析一些.js代码到AST中 - 因此需要将这个AST翻译成som类型的可以在字节码机器上执行的中间表示形式。
我有一些编写静态类型语言的编译器的经验,但我非常怀疑如何从这里开始,因为JS是一种动态类型语言。
如果你可以给我一些关于如何进行我的好建议,我将会是gratefull!
就我个人而言,我认为我必须首先制作字节码机,然后再让IR适合这台机器。不幸的是我真的找不到任何关于如何编写字节码机器的好教程。
PS。 IM熟悉的话题以下书籍:
“在Java中(阿佩尔)现代编译执行”, “在Java中(瓦&布朗)编程语言处理器”, “语言实现模式(帕尔)”
Regards Sune
出于好奇,什么课程要求你写一个完整的Javascript解释器? –
Crikey雄心勃勃的学校项目! –