Compiler Design 進度

4 08 2006

下一步要完成的是

* Function prototype parser

* Function call parser

* “struct” parser





語法定義

31 07 2006

我設計的新的程式語言的語法定義

寫起來大概是這樣的

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

31 07 2006

一直以來想寫一個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的”參考”型態