Ⅰ 如何自創語言我想自創語言,就像塔語一樣,需要什麼工具嗎需要什麼學歷基礎嗎難嗎
你好,我也想自創語言,個人認為需要完成3件大事情:
1,設計符號,並設計每個符號對應的發音(表音語言)或含義(表意語言)(可以使用已知語言的符號)
2,設計語法(這個得先對語法進行分類(相當於設計編程語言的格式))
3,定義詞彙對應的符號組合(這個得對詞彙分類(相當於定義編程語言的關鍵詞))
我自己已經從韓文中找到靈感設計了一套比韓文字元復雜一些的符號集(主要是為了能支持更多發音),現在差語法和詞彙。
Ⅱ 如何自創一門計算機語言
如果你僅僅有一般程序設計的基礎,直接要設計一門語言是有難度的。結合我個人的經驗,以下路徑應該比較適合語言初學者:你需要有基本的編譯原理常識。構造基本的編譯原理常識,一方面來自於你對已有語言的使用經驗,了解基本術語。比如我用C,那麼我起碼知道語言要素包括宏、表達式、語句、語句塊、函數、指針等;我還知道C語言有編譯、鏈接和執行三個階段。這些基本概念對你宏觀掌握你的學習進程是很有必要的。另外一方面編譯原理的常識,要來自圖書。比如龍書、SICP。
在這一步,你得知道大部分語言的處理都要分為詞法、語法、語義和代碼生成四個階段。每個階段,分別是做什麼的。了解具體的編譯演算法。了解到什麼程度,取決於你使用第三方工具,還是需要自己從字元開始處理。個人建議,喬姆斯基文法體系、(擴展)巴克斯範式(EBNF),正則表達式,和LL(1)的遞歸下降分析法是必須要掌握的。對LL(k),LR(k)要有概念。其中,四則運算表達式的分析是很好的練習。對語法的感覺。
初學者設計語言的難度有兩點。第一,不知道什麼樣的語法/語義是你需要的;第二,不知道你設計的文法能否實現。你是需要一個類似於自然語言的腳本,還是只是一個表達式。經過3階段的訓練我認為你已經有了獨立撰寫語法的能力。可以寫一個基礎版本的出來。實現你的語言,特別是詞法和語法部分。這一步最好能Log出盡可能多的信息,例如詞列表並列印出分析樹。