第131章 創(chuàng)造編程語言
到了2070年7月1日的晚上,我很無聊。
我真是太無聊了,都要虛脫了。該怎么辦???
我發(fā)現(xiàn),系統(tǒng)不是有個(gè)自創(chuàng)編程語言的功能嗎!
自創(chuàng)編程語言,編程語言的所有底層邏輯都為C++,C生萬物。所以,自創(chuàng)編程語言使用C++。
我找到工作群,聯(lián)系制造一個(gè)超級(jí)計(jì)算機(jī)。因?yàn)槭褂贸?jí)計(jì)算機(jī)才能更好的創(chuàng)造編程語言。
我開始繼續(xù)的打開系統(tǒng)的創(chuàng)造編程語言功能。
【叮!在創(chuàng)造編程語言之前,請(qǐng)確認(rèn)好編程語言的信息?!?p> 【編程語言名字】
編程語言的名字是什么呢?咱們對(duì)編程語言進(jìn)行添加很多數(shù)學(xué)內(nèi)容。還是起名叫math吧。這個(gè)名字思考半天才思考出來。
【編程語言:math】
【擴(kuò)展名】
這樣吧,擴(kuò)展名還是m吧。
【擴(kuò)展名:.m】
【您的編程語言到底是編譯型還是解釋型語言?】
還是解釋型語言吧,這樣就不用下編譯器了。
【您的編程語言是不是面向?qū)ο螅俊?p> “是”
【叮!已經(jīng)生成最佳方案,如不滿足可修改樣式,優(yōu)秀樣式共篩選出10萬個(gè)。共生成20行代碼?!?p> 靜態(tài)語言(強(qiáng)類型語言)
靜態(tài)語言是在編譯時(shí)變量的數(shù)據(jù)類型即可確定的語言,多數(shù)靜態(tài)類型語言要求在使用變量之前必須聲明數(shù)據(jù)類型。
動(dòng)態(tài)語言(弱類型語言)
動(dòng)態(tài)語言是在運(yùn)行時(shí)確定數(shù)據(jù)類型的語言。變量使用之前不需要類型聲明,通常變量的類型是被賦值的那個(gè)值的類型。
我的編程語言是解釋型語言,js就是解釋型語言,是動(dòng)態(tài)類型。所以就用動(dòng)態(tài)語言吧。但是有些變量必須聲明。
半動(dòng)態(tài)語言吧。
【叮!我不理解什么是“半動(dòng)態(tài)語言”】
我說:“半動(dòng)態(tài)語言就是有些數(shù)據(jù)類型不用聲明,而有些必須聲明。”
【允許直接的指針訪問嗎?】
我說:“允許??梢钥焖僭L問一個(gè)指針,這樣效率就很高?!?p> 【使用什么內(nèi)存模型?是有自動(dòng)的垃圾回收機(jī)制還是需要手動(dòng)管理內(nèi)存?】
我回答道:“既可以有自動(dòng)的垃圾回收機(jī)制,又可以手動(dòng)管理內(nèi)存。這樣就能靈活運(yùn)用。”
【語言中提供一些內(nèi)嵌的簡單函數(shù)還是所有的內(nèi)容都來自于類/函數(shù)庫?】
我開始想一想。
我靈機(jī)一動(dòng),回答道:“為了程序員的效率,所有關(guān)于數(shù)學(xué)、編程方面的都來自于內(nèi)置類/函數(shù)庫。”
【這門語言的范式是什么?是函數(shù)式的,面向?qū)ο蟮?,面向方面的,模板式的,還是一種原型,或就是徹頭徹尾全新的?】
我說:“將所有的內(nèi)容組合,創(chuàng)造出一個(gè)全新的。如JavaScript?!?p> 【我聽懂了這個(gè)意思。已經(jīng)生成最佳方案,共400行。如果不滿意,可以進(jìn)行替換,共有優(yōu)秀方案100萬個(gè)?!?p> 【這門語言和現(xiàn)存的庫或函數(shù)的接口是如何的?如果你是在創(chuàng)建某一領(lǐng)域特定的語言,這點(diǎn)就尤其重要?!?p> 我說:“關(guān)于數(shù)學(xué)、科學(xué)等方面有很大進(jìn)步的語言”
【用這個(gè)編程語言可以做什么?】
我說:“可以作為數(shù)學(xué)、科學(xué)等領(lǐng)域的研究工具,也可以進(jìn)行開發(fā)應(yīng)用使用。很多編程語言的優(yōu)點(diǎn)結(jié)合起來?!?p> 【寫出正式的語法規(guī)則】
我說:“對(duì)于數(shù)學(xué)與編程語言基礎(chǔ)上的語法規(guī)則?!?p> 我繼續(xù)運(yùn)用意念,在系統(tǒng)中寫出代碼。
【想好如果用戶的程序出現(xiàn)語法錯(cuò)誤,你的解釋器將給出什么樣的警告?】
我說:“給出邏輯清晰,相關(guān)的邏輯警告和錯(cuò)誤。讓程序員知道因?yàn)槭裁村e(cuò)誤?!?p> 【叮!已生成語法分析自動(dòng)生成庫(.auto),執(zhí)行.auto文件,可以生成語法分析庫。生成為最佳,如不滿意,可調(diào)整10萬個(gè)優(yōu)秀生成方案。】
“繼續(xù)補(bǔ)充一個(gè)事情,將解釋器運(yùn)行可以當(dāng)作編輯器來使用,打開解釋器不再是命令行窗口。并且頁面非常的美觀。”
【叮!已經(jīng)生成美觀樣式設(shè)計(jì)10萬個(gè),較次美觀設(shè)計(jì)共1000萬個(gè)?!?p> 我選擇了一個(gè)美觀設(shè)計(jì)。
【叮!已經(jīng)完成基本設(shè)置,請(qǐng)進(jìn)行下一步?!?p> 【當(dāng)前代碼共1000行?!?p> 【請(qǐng)創(chuàng)建數(shù)據(jù)類型!可設(shè)置是否有數(shù)據(jù)類型顯示要求!】
【叮!感謝您回答“半動(dòng)態(tài)語言”,讓我的系統(tǒng)升級(jí)了。我獎(jiǎng)勵(lì)您10000功德。這是第一次讓我系統(tǒng)升級(jí)!我的系統(tǒng)級(jí)別是練氣初期一層,還需要10萬個(gè)提升元素才能提升。你直接給我了1個(gè)元素,太好了!功德+10000】
【當(dāng)前功德:20000】
“typeof或type函數(shù)或type屬性查看數(shù)據(jù)類型?!?p> “添加數(shù)據(jù)類型,int,整數(shù)類型,沒有范圍但必須屬于整數(shù)集,不用寫數(shù)據(jù)類型名稱。”
“添加數(shù)據(jù)類型,float,有理數(shù)類型,沒有范圍但必須屬于有理數(shù)集,不用寫數(shù)據(jù)類型名稱。”
“添加數(shù)據(jù)類型,double,實(shí)數(shù)類型,沒有范圍但必須屬于實(shí)數(shù)集,不用寫數(shù)據(jù)類型名稱?!?p> “添加數(shù)據(jù)類型,number,復(fù)數(shù)類型,沒有范圍且沒有數(shù)值限制,如果是虛數(shù)則有實(shí)部虛部,用a+bi表示,a是實(shí)部,b是虛部。不用寫數(shù)據(jù)類型名稱?!?p> “添加數(shù)據(jù)類型,string,字符串類型,沒有限制,使用雙引號(hào)/單引號(hào)/字符串模板來表示,不用寫數(shù)據(jù)類型名稱?!?p> “添加數(shù)據(jù)類型,Boolean,布爾類型,true或false,不用寫數(shù)據(jù)類型名稱?!?p> “添加數(shù)據(jù)類型,array,數(shù)組/數(shù)集類型,數(shù)組可存儲(chǔ)任意元素,無限制,并且存儲(chǔ)數(shù)字時(shí)可使用{n|n條件}來表示,使用中括號(hào)或大括號(hào),不用寫數(shù)據(jù)類型名稱。”
“添加數(shù)據(jù)類型,object,對(duì)象類型,沒有范圍限制,不用寫數(shù)據(jù)類型名稱?!?p> 【叮!已經(jīng)創(chuàng)建,現(xiàn)在一共3000行代碼】
我開始添加函數(shù)。
input輸入,print輸出。輸入輸出流。
ascii函數(shù)表示ascii碼。
加上c++預(yù)處理指令語法
不用寫main函數(shù)。
增加clss類。
…………
添加數(shù)學(xué)四則運(yùn)算、乘方開方、超乘方(迭代冪次)
添加數(shù)學(xué)函數(shù)。
這樣,編程語言就初步創(chuàng)建好了。
我是小作家1
大家投推薦票=催更。 下一個(gè)情節(jié)與編程語言有關(guān)。