Skip to content

PerceptronV/wuyu-lang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐲 無語

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

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

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

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

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

施法而得:

君欲求何數? 五十
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 - 西洋

第四回 · 學而時習

文法之例,乃藏於此

術語

術語 無語
declare
define
if
then
else if
else 然則
while
for
function
return
print
input

類別

類別 無語
integer
float
string
boolean
array

算符

算符 無語
+
-
*
/
//
%
=
==
!=
>
<

第五回 · 法海無邊

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

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

About

《無語》編譯器 — A statically-typed, dynamically-compiled language for esoteric Chinese.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published