2009年7月6日 星期一

C# 腳本直譯器

腦袋沒動會生鏽,
以前就曾想自己寫一個腳本執行器看看,昨天就用C#寫了個非常陽春的版本。

程式碼在gitHub

範例程式下載

陽春是沒辦法的ˊˇˋ 畢竟只用了數小時=口=++
一般來講C#可以直接用內建的CodeDom庫去編譯腳本(如果沒特殊需要真的就用CodeDom就好),但這裡我用的是自己寫的直譯器。


這個直譯器可以用的邏輯式有:
for(i=0;i<5;i=i+1){
}
while(i<5){
}
if(i>=6){
}
之類的(sorry沒有else),全部都要按照格式一步一步來(沒時間寫偽編譯啊)
變數不用宣告,宣告陣列只需要 "陣列名稱=[];"
嗯,差不多就是這樣了

如果糟糕的程式碼很榮幸的被用到您的程式上,希望但不強制您放上本站的網址xDD

2 則留言:

  1. 非常厲害
    但有許多bug:
    1) while前面的大括號不能單獨在一行
    2) while後面的大括號一定要單獨一行
    3) n=n+0.03; 這句好像會變成n=n+3
    4) msgbox(3.14); 這句顯示出來的數字不是3.14
    希望您可以修正這些問題^^

    回覆刪除
  2. 因為不是很完整,只是基礎的雛型所以很多BUG囉

    回覆刪除