腳本技術
描述跟腳本相關的各種技術
手把手教你寫腳本引擎(五)——簡單的高級語言(3,符號表)
摘要: 符號表的結構的復雜度跟語言的語義規則的復雜度有關。對于C#來說,每一個符號都附帶了一大堆信息,譬如位置啦,所在的namespace啦,類型啦什么的。對于JavaScript來說,符號表幾乎是不需要的,因為東西都動態了,編譯時幾乎不檢查內容。語義分析的輸出是符號表,代碼生成的輸入是符號表和語法樹。因此語法樹除了放語法相關的內容,語義相關的內容最好放到符號表里面(譬如說表達式的類型啦,語句的scope結果啦)。
閱讀全文
posted @
2009-05-10 18:48 陳梓瀚(vczh) 閱讀(7251) |
評論 (1) 編輯
手把手教你寫腳本引擎 PPT與Demo(一)
摘要:
華南理工大學微軟俱樂部程序設計語言特別興趣小組——手把手教你寫腳本引擎系列(一)
陳梓瀚
PPT內容:
1、簡單指令集的設計方法(支持分支、循環、函數、遞歸)。
2、編譯控制流程(分支和循環)的一般模式。
3、函數調用的詳細過程。
4、5個示例程序。
Demo內容:
PPT中5個示例程序的運行過程(動畫),左邊是單步,右邊是堆棧內容。
含下載,內詳。
閱讀全文
posted @
2009-03-28 01:43 陳梓瀚(vczh) 閱讀(10626) |
評論 (11) 編輯
Kernel FP的圖形Demo實現!
摘要: 其實有了一整套的Kernel FP API之后,只需要插入幾個外部函數就可以讓Kernel FP繪圖了。現在我們看一看這個Demo的樣子。
閱讀全文
posted @
2008-12-29 10:41 陳梓瀚(vczh) 閱讀(2719) |
評論 (0) 編輯
Kernel FP編譯器工具實現
摘要: 這次終于實現了兩個exe,一個是編譯器,一個是提供控制臺API的虛擬機。等提供GUI的虛擬機出來之后就開放出來(內有圖和代碼)。
閱讀全文
posted @
2008-12-26 08:07 陳梓瀚(vczh) 閱讀(2052) |
評論 (5) 編輯
Kernel FP 編譯器MakeFile開發完成
摘要: Kernel FP的MakeFile可以指定輸出文件、報告文件以及代碼文件,并且可以繼承其他的MakeFile。MakeFile的格式和分析器代碼如下:
閱讀全文
posted @
2008-12-24 05:20 陳梓瀚(vczh) 閱讀(1789) |
評論 (1) 編輯
Kernep FP實現虛擬機的序列化與反序列化
摘要: 由于Kernel FP的編譯結果是獨立的,執行的時候不需要源代碼的符號的參與,因此可以將編譯結果進行序列化與反序列化。
閱讀全文
posted @
2008-12-23 00:50 陳梓瀚(vczh) 閱讀(1569) |
評論 (0) 編輯
Kernel FP添加反射API
摘要: 為了讓宿主程序可以更加清楚一份Kernel FP代碼的內容,我今天為Kernel FP添加了反射的API。
閱讀全文
posted @
2008-12-20 06:10 陳梓瀚(vczh) 閱讀(1416) |
評論 (0) 編輯
使用Kernel FP的do-end語法糖添加自己的異常處理系統
摘要: 有的時候,IO的異常處理由于需要一個IOEnv類型的參數而顯得非常麻煩。這個時候我們可以定制自己的一套異常處理系統,從而讓程序變得清晰起來。自己的異常處理系統不同于IO,是沒有副作用的函數集合。下面讓我們看一看如何使用自定義的異常處理系統來分析一個四則運算表達式。
閱讀全文
posted @
2008-12-18 21:23 陳梓瀚(vczh) 閱讀(1448) |
評論 (0) 編輯
使用Kernel FP API實現一個運行Kernel FP代碼的控制臺程序
摘要: 說到底Kernel FP是一個腳本引擎,所以是需要API的。接下來的代碼用來加載一些Kernel FP代碼文件,并執行main函數。
閱讀全文
posted @
2008-12-17 19:15 陳梓瀚(vczh) 閱讀(1634) |
評論 (1) 編輯
在純函數式語言內實現有關IO的循環
摘要: 我們知道,循環本身是沒有返回值的。所以在純函數式語言下,跟IO有關的循環才有足夠的副作用來產生價值。于是利用IO Monad,我們就可以實現循環了。循環是一個函數:
閱讀全文
posted @
2008-12-15 07:56 陳梓瀚(vczh) 閱讀(2155) |
評論 (2) 編輯
Kernel FP的do-end IO語法糖實現!
摘要: 前面說過,需要一個語法糖來組織IO,并且在其中的一步產生錯誤的時候立刻返回錯誤。現在我們看一段代碼:
閱讀全文
posted @
2008-12-15 06:22 陳梓瀚(vczh) 閱讀(1475) |
評論 (0) 編輯
Kernel FP 的四則運算式子分析程序
摘要: 為了測試Kernel FP的健壯性以及進行一些bug的排除,一個四則運算式子的分析程序理所當然地就被實現了。代碼如下:
閱讀全文
posted @
2008-12-13 07:13 陳梓瀚(vczh) 閱讀(3349) |
評論 (2) 編輯
Full 腳本技術 Archive