在我的翻譯我已經內置在像print
exit
input
等 這些功能顯然可以從語言內部訪問的語言可用的功能。解釋器然後在向量中尋找具有正確名稱的相應函數,並通過與其名稱一起存儲的指針來調用它。解釋在C++:功能表存儲問題
因此,我收集所有這些功能的文件,如io.cpp
,string.cpp
,arithmetic.cpp
。但是我必須將每個函數都添加到解釋器中的函數列表中,以便找到它。
因此,在這些功能的文件,我有喜歡的東西:
void print(arg)
{
cout << arg.ToString;
}
我這個打印功能添加到翻譯功能列表有:
interpreter.AddFunc("print", print);
- 但我應該在哪裏調用
interpreter.AddFunc
?
我不能把它放在打印函數的下面,因爲它必須在根據C++語法的函數中。
- 在哪裏以及如何將所有功能添加到列表中?
您的解釋器的類構造函數或初始化函數。 – 2010-04-04 19:56:51