論中文編程語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)~Minecraft指令的更簡(jiǎn)單編寫

信息框(“Hello World !”,0,)
????????????????????????????????????????????????????????——易語(yǔ)言,用戶最多的中文編程語(yǔ)言
從本人角度上看,易語(yǔ)言本身的語(yǔ)法還是常規(guī)編程語(yǔ)言的關(guān)鍵詞替代的版本
「#define 主函數(shù) int main(){ 」也能達(dá)成相似的功能(雖然易語(yǔ)言真正強(qiáng)大在它的庫(kù))
吶,能不能做一門,真正意義上的,中文語(yǔ)法的編程語(yǔ)言呢?

代碼給人讀的,不是給機(jī)器讀的!? ——不知道誰(shuí)說(shuō)的
換湯不換藥預(yù)警 & 語(yǔ)法混亂預(yù)警 & 表達(dá)不清預(yù)警 & 莫名其妙預(yù)警 & 畫餅預(yù)警
Index:前言 & 一些信息 & 基本語(yǔ)法 & 編程實(shí)例 & 關(guān)于Minecraft指令 & END 雀的篇章

Section 1 一些信息
半年多前,我也寫過(guò)一只「編譯器」
該編譯器可以基本實(shí)現(xiàn)編譯功能,但是它存在一些顯著的漏洞:
雖然可拓展性很強(qiáng),但是在解析奇怪的語(yǔ)法上完全不行
語(yǔ)法制作非常復(fù)雜,而且功能相當(dāng)有限
本身只是一個(gè)宏定義PRO,很難完成優(yōu)化任務(wù)
故而,在本項(xiàng)目中,本人放棄了先前的制作(畢竟是匯編屑作嘛,還是Python方便)

Section 2 基本語(yǔ)法
本項(xiàng)目中,基本上放棄了常規(guī)編程語(yǔ)言的方案,例如,該項(xiàng)目現(xiàn)有申請(qǐng)內(nèi)存語(yǔ)法如下
????2.1 斷句怎么解決?
????????斷句采用了一種簡(jiǎn)單粗暴的方式解決:貪心(你就沒(méi)考慮過(guò)i+++++i是什么嗎)
????????很顯然,為了檢測(cè)句子,最差的情況將會(huì)有O(n^2)的時(shí)間復(fù)雜度進(jìn)行一次掃描
????????如果采用dp,對(duì)于長(zhǎng)句,運(yùn)行效率不堪設(shè)想,而且更可能出現(xiàn)斷句錯(cuò)誤
????2.2 為什么要這么設(shè)計(jì)?
????????事情要從我空格鍵被敲壞送修開始說(shuō)起……
????????才不是因?yàn)橐渍Z(yǔ)言太不像中文了呢!

本項(xiàng)目為面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP),但是實(shí)際處理反而是更像匯編的「段」一點(diǎn)
????2.3 為什么這里的聲明變量和先前的申請(qǐng)內(nèi)存不同?
????????UP智商不夠,現(xiàn)有的對(duì)象實(shí)現(xiàn)方案是將「模板」復(fù)制生成新的對(duì)象
????????所以“有”其實(shí)相當(dāng)于匯編中的db 0x00,0x00...
????????吶,有十年腦血栓的小伙伴應(yīng)該已經(jīng)想到了吧,“有”甚至可以用來(lái)定義函數(shù),保證內(nèi)存位置固定
????2.4 看著好亂啊怎么破
????????UP盡量寫個(gè)VSC高亮插件,畢竟全都是字沒(méi)有高亮怪頭疼的
????????要是有簡(jiǎn)單易懂又不會(huì)看暈又方便快捷的編程語(yǔ)言就好了
????2.5 所以是不是需要「定義Main如下」?
????????為了程序的可讀性(字面意義)所以就不要了
????????對(duì)外解釋是「整段程序都在 定義Main 下面,所以就不需要了」,實(shí)際上就是沒(méi)寫

關(guān)于一些語(yǔ)法糖,基本上是在中文語(yǔ)法上拓展,盡量達(dá)到便利效果
????2.6 為什么這里突然出現(xiàn)了標(biāo)點(diǎn)符號(hào)?
????????符號(hào)本身是個(gè)可選項(xiàng),主要目的是便于閱讀——
????????畢竟?jié)h語(yǔ)太復(fù)雜,不刻意斷句自己都讀不懂,代碼是給人讀的,不是給機(jī)器讀的!
????2.7 這有什么意義呢?
????????其實(shí)這玩意起因是為了方便寫匯編,做的一門介于C和ASM之間的東西
????????所以就支持了一大堆又底層又高級(jí)的四不像玩意……

Section 3 編程實(shí)例
(以上除縮進(jìn)外空格均不需要

Section 4?關(guān)于Minecraft指令
毫不夸張地形容:Minecraft指令中,80%以上的內(nèi)容都是冗余的
短短一句mov ax,bx扔在指令里就是scoreboard players #ax num?operation = #bx num
雖然指令有很多可讀性強(qiáng)而便利的功能
在部分功能上,很顯然,過(guò)度的冗余足以讓人迷惑
于是乎,大繁至簡(jiǎn)——「設(shè)一為二」
現(xiàn)已開發(fā)完成Array等相關(guān)組件,未來(lái)若干天將會(huì)上傳相關(guān)內(nèi)容與作品

Section End
「孔雀東南飛,五里一徘徊……」
既然有「木蘭」在先,不妨命名它為「雀」吧
雖然近乎完全丟失了原文的信息,但以此出發(fā)
創(chuàng)造一門信息緊湊,便于閱讀的編程語(yǔ)言吧
加油,共勉