- 我想創建特定領域的查詢語言
- 我需要步驟來創建它,以及如何從已創建域特定的查詢語言轉移到正常SQL查詢來執行它。
- 和任何推薦的工具?
0
A
回答
4
DSLs與SQL關係不大。
您首先需要在紙上指定您的DSL。我強烈建議閱讀有關編程語言的好書。 (例如C.Queinnec的Lisp in Small Pieces)。
然後你需要實現你的DSL作爲解釋器。您將使用標準lexing,parsing和interpreters(或可能的compiler)技術。很可能您需要使用或實施garbage collector(或使用Boehm's GC)。像ANTLR這樣的解析器生成器可以幫助您。
並行協同設計和實現您的DSL通常是一種很好的工作方式。
在設計&之前,您應該先閱讀幾本關於幾種語言的書籍&,然後才能實現您自己的DSL。
做一個實際的辦法是嵌入現有解釋像Lua到您的應用程序,或嵌入一個解釋內部應用程序像ocaml或python
的設計和實施良好的DSL是不是瑣碎(幾個月或幾年的工作),並需要一些計算機科學&編程文化&訣竅。也許讀DSL2011等會議的會議記錄會對你有所幫助。
此外C.Queinnec的書,你也可以閱讀Programming Languages: Principles and Paradigms (by Maurizio Gabbrielli & Simone Martini) & Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (by Tate) & Programmming Language Pragmatics (by M.Scott)
相關問題
- 1. 什麼是爲複合CMS創建新語言的步驟?
- 2. 如何構建特定於域的查詢語言?
- 3. 什麼是「域特定語言」?
- 4. OrientDB的查詢語言是什麼?
- 5. 什麼是測試域特定語言的好參考?
- 6. 需要什麼步驟來創建一個沒有越獄的新iOS語言
- 7. 什麼是PostgresSQL查詢語言考慮?
- 8. 什麼是動作特定語言(ASL)?
- 9. 什麼是用於創建圖形的簡單語言?
- 10. 使用xtext-xbase-xtend工具鏈創建簡單的特定於域的語言
- 11. 春季創建webservice的步驟步驟
- 12. 在Vulkan中從陣列創建紋理的步驟是什麼?
- 13. 創建「可執行文件包」的步驟是什麼
- 14. 如何從終端創建git分支的步驟是什麼?
- 15. 創建ipa文件的步驟是什麼?
- 16. 在Bokeh python中創建雷達圖表的步驟是什麼?
- 17. 在yiiframework中創建AJAX登錄的步驟是什麼?
- 18. 什麼查詢語言用於查詢SSAS 2012表格模型?
- 19. 使用Angular JS指令爲表單創建一個特定於域的語言
- 20. 域特定語言IDE
- 21. F# - 領域特定語言
- 22. 什麼是語言綁定?
- 23. 創建一個不是區域或語言特定的Rails「本地化」?
- 24. 學習BASIC後,語言學習的下一個邏輯步驟是什麼?
- 25. 黃瓜:創建一個取決於另一個步驟的步驟定義
- 26. 用於C#語言的'this'是什麼?
- 27. 添加具有特定「步驟」的查詢列表中的值
- 28. 在MVC4中創建特定於語言的錯誤頁面
- 29. 額外的步驟以彙編語言
- 30. 檢測並查詢特定語言
我讀到關於日食的XTEXT和我的理解,它提供解析器和詞法...我的問題是什麼是後步驟?? – user1011661
下一步是閱讀大量的論文和書籍,學習幾個現有的DSL,並思考。 Lexing&Parsing是非常簡單的部分。 –
我加了一些參考文獻 –