無語 · 編譯器 (Wuyu Compiler)

Oct 5, 2025

曰:「無語者,必將開天闢地」。

《無語》編譯器以上古之言納如今算術之式。例,求質數:

有數極限。
曰:「君欲求何數? 」。
求:極限。

有問列質否,廣極限益一者,為是。

順數現為二漸增至極限也
    若質否其現者如是,則
        曰:現:「 」。
        順數倍為二漸增至極限拆現也
            質否其現乘倍者為非。

施法而得:

君欲求何數? 五十
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

無語卻言章次:

第一回 · 速戰速決

建基(原置 Ubuntu 25.04)

sudo apt install -y build-essential cmake ninja-build \
    llvm-20 llvm-20-dev lld-20 zlib1g-dev

構築

# 克隆此經文
git clone https://github.com/PerceptronV/wuyu-lang
cd wuyu-lang

# 構建
./build.sh

# 測試
./build/bin/wuyu --version

開天

./build/bin/wuyu,而後施盤古.🐲之法:

曰:「天地玄黃,宇宙洪荒。」:更。

辟地

./build/bin/wuyu docs/examples/質數.🐲

第二回 · 查言觀澀

物類

有數齡為二十五。        · int  = 25;
有分價為九十九點九。     · float  = 99.9;
有文名為「小明」。       · string  = "小明";
有問真假為是。          · bool 真假 = true;

算術

有數甲為十。
有數乙為三。

曰:甲益乙:更。  ·  + 
曰:甲損乙:更。  ·  - 
曰:甲乘乙:更。  ·  * 
曰:甲除乙:更。  ·  / 
曰:甲拆乙:更。  ·  // 乙
曰:甲餘乙:更。  ·  % 

控流

若甲盈零則           · if ( > 0)
    曰:「正數」:更。  · cout << "正數" << endl;
而則
    曰:「非正數」:更。

循甲虧十也           · while ( < 10)
    曰:甲:更。
    甲增。

順數甲為零漸一至十也  · for (int i = 0; i <= 10; i++)
    曰:甲:更。

函數

設術階乘參數量者得數           · int factorial(int n)
    若量頂一則
        奏一。
    然則
        奏量乘階乘執量損一者。 · return n * factorial(n - 1);

有數果為階乘執五者。
曰:果:更。                 · 一百二十

陣列

有數列例廣十者。       · int [10];
例其零者為一。        · [0] = 1
曰:例其零者:更。     · cout << [0] << endl;

第三回 · 編譯之法

立時執行(JIT)

./build/bin/wuyu 心血來潮.🐲

編為標檔(AOT)

./build/bin/wuyu -c 心血來潮.🐲 -o 心血來潮.o
gcc 心血來潮.o -o 心血來潮
./心血來潮

編為 LLVM 中階之式

./build/bin/wuyu -l 心血來潮.🐲 -o 心血來潮.ll
cat 心血來潮.ll

無語其型多變:

  • .🐲 - 御用
  • . - 通行
  • .wuyu - 西洋

第四回 · 學而時習

文法之例,乃藏於此

第五回 · 法海無邊

《無語》 版權所有 宋亦丁 二零二五 乙巳年。

此處《無語》代碼庫、軟件等之公用乃從「GNU GENERAL PUBLIC LICENSE v3」之條文。