←返回上一頁

喵++(Meow-plus-plus)

支援中文語法的程式語言,附 WebAssembly 遊樂場與單步除錯器

專案介紹

喵++(原名 itouLang)是一個使用中文關鍵字、採 C++ 風格結構的小型程式語言。可以撰寫、執行、編譯與單步除錯,從詞法分析、語法分析、名稱解析,到型別檢查和執行核心,都以 C++17 實作。

它保留型別前置宣告、函式、迴圈與串流輸入輸出等熟悉的寫法,但並不是完整的 C++,目前沒有類別、指標或 C++ 標準函式庫。

語言可以做什麼

  • 中文識別字與關鍵字,也能混用部分英文寫法。
  • 條件、迴圈、遞迴、高階函式與可修改捕獲變數的閉包。
  • 漸進式型別檢查,並在執行時檢查參數、回傳值等型別契約。
  • 以「喵in/喵out」進行串流輸入輸出,分別保留標準輸出與標準錯誤。
整數 主程式() {
  喵out << "你好,喵++!" << 喵endl;
  回傳 0;
}

同一份核心,兩種使用方式

命令列可使用原生 CLI,選擇語法樹直譯器或位元組碼虛擬機,也能只做型別檢查、查看編譯後的指令。

瀏覽器遊樂場則透過 WebAssembly 與 Worker 執行同一份核心。可以輸入測資、查看中文型別報告、在行號設定中斷點,並用單步操作檢查呼叫堆疊、區域變數、捕獲變數與運算元堆疊。

實作與驗證

語言同時維護前端分析、兩種執行引擎和除錯狀態,因此測試不只檢查結果,也包含語意、錯誤診斷、型別契約、生成程式、CLI 與桌面/手機瀏覽器的行為。遊樂場停止執行時會終止 Worker,下一次再建立新的 WebAssembly instance。