[英]Writing a scripting language?
我正在擴展C ++的知識,並希望編寫自己的腳本語言來挑戰自己,也可以將其用作休閑腳本等的項目。我在stackoverflow上看到了一些舊文章,但它們過時了,想知道是否有人可以提供任何較新的來源示例等?
簡而言之:
定義您的語言
您將需要定義所有命令及其語法。
定義它們之后,可以按語法模式對它們進行分組。
設計詞法分析器
Lexer是掃描輸入中的語言元素並將其轉換為標記的部分 。 然后將令牌饋送到解析器。
設計解析器
解析器是評估令牌(例如令牌的順序和參數數量)的部分。
設計口譯員
解釋器是執行解析器輸出的部分。
您應該將其視為計算機的高級模型。 例如,您是否需要變量,寄存器,輸入,輸出,數學指令等。
復雜的解釋器是BASIC語言解釋器(或Visual BASIC)。 Java具有一個解釋字節碼的JVM。 也有LISP解釋器。
如果可以的話,您可能想查看Python解釋器的源代碼。
另外,請查看GNU和CLanguage編譯器的源代碼。
編譯器和解釋器通常由團隊合作編寫(以減少開發時間)。 准備在這個項目上花費很長時間。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.