下一步要完成的是
* Function prototype parser
* Function call parser
* “struct” parser
下一步要完成的是
* Function prototype parser
* Function call parser
* “struct” parser
我設計的新的程式語言的語法定義
寫起來大概是這樣的
using console,stdlib; class T{ public: int P; }; class A : extends B{ private: int i,j,k; public: int x,y,z; void output() { ; } }; class A abc; int main() { int i,j; string a,b; a="Hello world!"; for(i=0;i<10;i++){ b=a+","+stdlib.IntToString(i); console.print(a); return 0; }
一直以來想寫一個Compiler
直到最近幾個月才有機會開始寫
目前是以C的語法為主,並加上OO的功能
語法分析器還在撰寫當中,最後編碼產生器是產生bytecode
然後再透過一個不到50KB的VirtualMachine來進行解譯。
bytecode模仿了java,c# 的bytecode,採用stack based
由於整個編譯器與虛擬機器完全使用C語言進行開發的
理論上編譯速度會很快。虛擬機器在解譯時, 也會很快。
預計支援的data type: void,byte,int,double,bytearray,intarray,doublearray,struct,class
不支援指標,但會支援類似java的”參考”型態
Recent Comments