antlr指南(前言)

原址:http://www.aliensoft.cn/Chapter1.mht

 

前言

當今軟件開發對開發效率和質量的要求越來越高,出現了許多新的編程語言,開發工具和框架。許多軟件開發公司和個人也在開發適合自己領域或本行業的工具、框架來提高生產力。其中一些工具和框架需要分析現有編程語言的語法或通過配置文件來獲得軟件設計開發的元數據信息。比如:UML建模工具需要分析面嚮對象語言程序中定義了哪些類,類中又定義了哪些方法以及方法的參數,類與類之間的關係等。獲得這些元數據信息後就可以繪製出類圖。還有些工具需要定義新的語言或格式。如Hibernate定義了HQL語言來實現適合自己的數據查詢方式。筆者之前在開發一個SQL分析工具時就要分析SELECT語句的語義,比如一個查詢要查詢哪些表“FROM tableName”,表與表之間是怎麼關聯的“table1 INNER JOIN table2 ON …”等等。這隻有對SELECT語句進行語法分析後才能實現。筆者當時沒有多少語法分析方面的開發經驗,後來使用了ANTLR工具解決了這個難題。隨着筆者對ANTLR的瞭解,發現ANTLR是一個強大的語法分析工具,提拱了許多語法分析中的實用功能,尤其ANTLR3.0還提拱了一個開發環境,使用起來更加方便,整體上也有了很大的改進。所以又對ANTLR進行了全面的學習並編寫了本書希望對有這方面需求的朋友能有所幫助。

ANTLR又一個語言識別工具(ANother Tool for Language Recognition, 是、根據一種可以嵌入如Java, C++C#等輔助代碼段的文法描述,構築出相對該文法定義的識別器,編譯器或翻譯器的一種語言工具框架。ANTLR是由Terence John Parr1989年開始開發的,現在已經發展到了3.0,支持Java, C, C++, C#, Objective-C, Python, and Ruby.1多種語言。ANTLR實現了語言識別編譯開發的自動化,使用者只需寫出EBNF推導式的文法描述就可以自動生成語言識別器。

  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章