从汇编语言到高级语言中间还有一个过渡文件,虚拟机文件。存在这个文件的目的是解决高级语言可以在不同硬件平台使用。每一个语言,每一个平台都有自己的标准,如果为每一个高级语言和指定的硬件平台写特定的编译器那么就很繁琐。但是如果所有的语言都可以转成一种中间语言,而所有硬件平台都可以翻译这种中间文件,则会大大减少工作量。
虚拟机产生的中间文件应该也可以表示任何高级语言的功能,而且可以被翻译成机器语言。那么虚拟机需要有能表达算术运算,逻辑运算,程序跳转,内存分配等基本能力。巧妙的是堆栈数据结构模型可以非常好的完成上述功能,堆栈以其后进先出的特点,很好的实现了算术运算,逻辑运算,程序跳转等功能。其中算术运算是采用后缀表达式的方式进行。
据此已经可以推断很多高级语言所能具有的语法灵活性了!