[英]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.