當前位置:星座運勢大全官網 - 周易占卜 - 如何創造壹種計算機語言?

如何創造壹種計算機語言?

?如果只有壹般編程的基礎知識,很難直接設計壹門語言。結合我的個人經驗,下面這條路徑應該更適合初學者:妳需要具備編譯原理的基礎知識。壹方面,編譯原理的基礎知識來源於妳對已有語言的使用經驗和對基本術語的理解。比如我用C,那麽至少我知道語言元素包括宏、表達式、語句、語句塊、函數、指針等。我也知道C語言有三個階段:編譯、鏈接、執行。這些基本概念是妳宏觀掌握學習過程所必需的。另壹方面,編譯原理的常識應該來自書本。比如《龍之書》和《SICP》。

?這壹步,妳要知道大部分語言處理分為四個階段:詞法、語法、語義和代碼生成。每個階段都做些什麽?了解具體的編譯算法。知道多少取決於妳是用第三方工具還是需要自己從人物入手。個人認為,喬姆斯基語法體系,(擴展的)巴克斯範式(EBNF),正則表達式,LL(1)的遞歸下降分析都是必須掌握的。有LL(k)和LR(k)的概念。其中對四個運算表達式的分析就是壹個很好的練習。語法感。

?初學者設計語言有兩個難點。第壹,不知道妳需要什麽樣的語法/語義;第二,不知道妳設計的語法能不能實現。需要壹個類似自然語言的腳本,還是只是壹個表達式?經過三個階段的訓練,我覺得妳已經具備獨立寫語法的能力了。可以寫壹個基礎版。意識到妳的語言,尤其是詞匯和語法部分。這壹步最好盡可能多地登出信息,比如單詞列表,打印出分析樹。