喵++(Meow-plus-plus)
支援中文語法的程式語言,附 WebAssembly 遊樂場與單步除錯器
1 / 1:喵++(Meow-plus-plus) 預覽圖
專案介紹
喵++(原名 itouLang)是一個使用中文關鍵字、採 C++ 風格結構的小型程式語言。可以撰寫、執行、編譯與單步除錯,從詞法分析、語法分析、名稱解析,到型別檢查和執行核心,都以 C++17 實作。
它保留型別前置宣告、函式、迴圈與串流輸入輸出等熟悉的寫法,但並不是完整的 C++,目前沒有類別、指標或 C++ 標準函式庫。
語言可以做什麼
- 中文識別字與關鍵字,也能混用部分英文寫法。
- 條件、迴圈、遞迴、高階函式與可修改捕獲變數的閉包。
- 漸進式型別檢查,並在執行時檢查參數、回傳值等型別契約。
- 以「喵in/喵out」進行串流輸入輸出,分別保留標準輸出與標準錯誤。
整數 主程式() {
喵out << "你好,喵++!" << 喵endl;
回傳 0;
}
同一份核心,兩種使用方式
命令列可使用原生 CLI,選擇語法樹直譯器或位元組碼虛擬機,也能只做型別檢查、查看編譯後的指令。
瀏覽器遊樂場則透過 WebAssembly 與 Worker 執行同一份核心。可以輸入測資、查看中文型別報告、在行號設定中斷點,並用單步操作檢查呼叫堆疊、區域變數、捕獲變數與運算元堆疊。
實作與驗證
語言同時維護前端分析、兩種執行引擎和除錯狀態,因此測試不只檢查結果,也包含語意、錯誤診斷、型別契約、生成程式、CLI 與桌面/手機瀏覽器的行為。遊樂場停止執行時會終止 Worker,下一次再建立新的 WebAssembly instance。