我需要知道什麼是開發一種編程語言,比如咖啡腳本,它基本上有自己的語法,但在編譯變成另一種語言之後,有什麼要求呢?我做了Google,但找不到正確的答案。如何開發像Coffee Script這樣的編程語言?
4
A
回答
6
一個基本指定類似EBNF你的語言。
statement = if-statement | return-statement | expression | ... if-statement = "if" "(" expression ")" "{" statements "}" return-statement = "return" expression ";" ...
編寫一個解析器,從源文件創建一個abstract syntax tree。
編寫一個code generator將此AST轉換爲您的目標語言;或
編寫interpreter僅僅評估AST。
+0
+1爲普拉特語法分析器,他們是唯一最令人敬畏的解析算法恕我直言。 – delnan 2012-04-25 13:05:06
+0
@delnan:他們很棒。 – 2012-04-25 15:44:38
0
最初的要求是:
- 確定目標計算機語言
- 開發新的語言
- 地圖新的語言爲目標語言的語法的語法。
您仍然有很多工作要做,但基本上,您正在將您的新語言翻譯成目標語言。
3
好的第一步是閱讀Programming Languages: Application and Interpretation。它會教你如何用口譯設計和實現語言。
相關問題
- 1. 開發像Imgur這樣的網站所需的編程語言?
- 2. 有沒有像編程語言這樣的XML?
- 3. Web開發的編程語言建議
- 4. 如何開發非英語編程/腳本語言?
- 5. java編程語言和android開發
- 6. 編程語言 - 遊戲開發
- 7. 如何開發像EntLib這樣的配置文件編輯器?
- 8. coffee-script模塊如何工作?
- 9. 如何識別用於開發軟件的編程語言?
- 10. 是否有像C++這樣的編譯語言的Web框架?
- 11. 開關編程語言
- 12. if if else in coffee script
- 13. 找不到模塊'coffee-script'
- 14. 考慮到JavaFX Script編程語言的幾個小問題
- 15. 編寫的編程語言
- 16. 這是什麼編程語言?
- 17. LinkedIn應用程序開發的編程語言
- 18. 這是哪種編程語言?
- 19. 編程語言
- 20. Siri編程語言
- 21. ¿這是什麼編程語言?
- 22. 如何編寫select這樣的語句?
- 23. 編程語言的原語
- 24. 如何創建像PHP這樣的語言,它是如何工作的?
- 25. 多語言開發
- 26. Android開發語言
- 27. 哪種編程語言的語法是這樣的(Swift或Objective C)
- 28. 使用Coffee Script中的功能
- 29. 編程語言樹
- 30. 這是一種編程語言嗎?
我會盡量不要聽起來像一個傲慢的混蛋,但你問的事實可能意味着你現在應該不會開始這樣的冒險。作出這一警告後,我希望比我更多的人能夠提供介紹材料的鏈接。 – 2012-04-24 14:34:10
也許你可以從確保你瞭解coffeescript編譯器的工作原理開始吧? – 2012-04-24 14:40:46