[英]What does it mean for a language to be ‘interpreted’?
像Ruby这样的语言(如果运行MRI,我的意思是没有编译成字节码)运行实际上每次执行时都需要解析,例如方法或循环体吗? 我的意思是,要执行一个循环,你需要解析它的身体N次?
我一直以为所有这些程序都在引导程序中被解析一次,在“强类型”语句树中转换,等等。这不是真的吗?
我现在只是吝啬,并说几乎每种编程语言都被解释,无论是软件(Ruby,Python,Java)还是硬件(C,C ++)解释器:)
对于一个真正的答案,虽然我不知道内部的Ruby实现,但我确定他们不会一遍又一遍地解析语句。 虽然在原始实现中没有使用字节码(或者它们是否已经迁移?),但是它们使用了一些中间表示(当你想为它编写C扩展时可以很好地看到它),因此只是反复执行它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.