FinC 是一套語法類似 C 語言的程式語言解釋器(The Interpreter of A Programming Language)。FinC的初始目標是面向嵌入式領域的程式語言,所以它非常強調小、小、再小,實時、實時、再實時。
FinC 是一個實現非常短小的解釋器,編譯後二進制檔案大小在 100k 左右,剪裁版本 Finsh 可完全用於嵌入式設備實現 vxWorks shell 類似的功能,而其大小僅在幾k。
FinC 0.3 已被移植到多個系統,Linux/Win32/vxWorks/Nucleus以及DOOLOO RTOS……
功能介紹
0.3 系列版本內部完全解釋執行,不產生任何中間代碼,支持C語言的基本數據類型(char/short/int/long/float),基本指針,字元串,結構體,一維數組等,支持?/:三項式語句,逗號語句,if/else 條件語句,for/while 循環,支持函式,支持調用系統函式。0.3 系列的目標就是和 C89 完全兼容。
0.4 系列版本將能夠直接運行於 Java 虛擬機,並給出一個完全嵌入式設備上的 Java 虛擬機實現(二進制代碼尺寸:32k、64k及以上級別)。
套用方向
FinC 0.3 系列的套用方向主要向兩個方向發展:
#1. 全功能的 FinC,用於 C 語言應用程式的測試(TestExecute),可以把一個動態程式庫直接導入到解釋器中,採用互動式或批處理的方式執行測試;互動式,能通過 shell 的形式直接調用動態程式庫中的函式,查看/修改全局變數。
#2. 剪裁版本的 Finsh,用於和 TestExecute 配合使用,能夠在 shell 狀態下互動的執行嵌入式設備中的函式,查看/修改變數、記憶體數據、設備暫存器等等。