我想了解語言翻譯如何工作。你們能向我指出口譯員的工作方式嗎?創建語言翻譯
我的意思是,假設我有這樣寫的
10 x = 200;
20 for r = x to 1000 step 1
25 z = r + 32;
30 print z;
40 next r;
50 end;
什麼是構建一個可以運行類似的東西的解釋的最佳方式的某些行?
擁有一個包含所有允許的功能和搜索匹配的大矩陣?例如,第一行:將200分配給變量x,但這些符號不存在。
如果你們可以給我的方向...
感謝您的任何幫助。
爲此編寫解釋器(或編譯器)是非常複雜的。我不是這方面的專家,但是在我的大學他們有一門名爲編譯技術的課程,我的一些朋友也參加了這門課程。如果我沒有記錯的話,它包含4個步驟,首先是編寫一些代碼模式(就像你已經擁有的代碼模式一樣),然後他們使用一個程序來查看它並找到模式,並且它們構建可用於構建樹的標記的代碼。然後他們建立編譯器。正如我所說的那樣,我不太瞭解,但有人告訴我這並不容易。 – Alxandr 2010-03-10 00:10:06
謝謝..就是這一點。我正試圖得到一個大概的想法。 – SpaceDog 2010-03-10 00:12:32
編譯器和解釋器資源的規範問題是http://stackoverflow.com/questions/1669/learning-to-write-a-compiler。並且列出了一些資源(如Crenshaw教程),這些資源在非常簡單的級別上進行了討論。 – dmckee 2010-03-10 00:23:28