需要事先学习一些编译原理吗

用go写一个java语音的编译器,应该会涉及的编译原理的知识吧,那么需要提前学习一些编译原理吧?

本书是用Go语言写一个简单的Java虚拟机,而非Java编译器:)
本书会讨论Java的class文件和字节码,但是不会讨论它们是如何从Java文件编译而来。
Java虚拟机只要能够解析class文件,执行里面的字节码就可以了。
所以了解编译原理会对理解本书有所帮助,但并不是必须的。