我已經在C++中構建了一個解釋器,目前爲止一切正常,但現在我陷入了import/include /的設計,但是您想調用它的功能。口譯員:處理包括/進口
我考慮以下內容:
處理在標記化過程包括:當在所述代碼中發現的
include
,標記化函數遞歸調用與指定的文件名。然後將include
d文件的標記化代碼添加到包含的先前位置。 缺點:沒有條件包括(!)處理包括在解釋過程中:我不知道如何。我所知道的是,PHP
must
這樣做是因爲條件包含是可能的。
現在我的問題:
- 我應該怎麼辦包括?
- 現代解釋器(Python/Ruby)如何處理這個問題?他們允許有條件的包括嗎?
*「缺點:沒有條件包括(!)「*我不知道這個條件是否成立,取決於你用於解析代碼的抽象表示的性質。 – dmckee 2010-04-09 16:43:31