ANTLR 接受 3類語法規(guī)范——語法分析器(parsers) ,詞法分析器(lexers) ,和樹分析器(tree-parsers)(也叫樹遍歷器 tree-walkers)。 由于 ANTLR 使用 LL(k) 分析所有的 3 種語法變型,并且語法說明相似,因而產(chǎn)生的 lexers 和語法分析程序也很類似。另外產(chǎn)生的識別程序可讀性很好,你可以查看輸出的內(nèi)容來明白很多關(guān)于 ANTLR 的機理。
ANTLR 接受C語言風格的塊注釋和 C++風格的行注釋。在語法類和規(guī)則中,Java 風格的文檔注釋也是可以接受的,在需要的時候,這些注釋可以被傳遞給生成的輸出文件。
ANTLR, 語言識別的另一個工具(ANother Tool for Language Recognition ),(前身是PCCTS)是一種語言工具,它提供了一個框架,可以通過包含 Java,C++,或C#動作(action)的語法描述來構(gòu)造語言識別器,編譯器和解析器。
計算機語言的解析已經(jīng)變成了一種非常普遍的工作。 傳統(tǒng)的計算機語言的編譯器和工具(如 C 或Java)仍舊需要被構(gòu)造,它們的數(shù)量與需要開發(fā)的那些成千上萬的小語言的識別工具和解析工具相比是相形見拙。程序員為了解析數(shù)據(jù)格式,圖形文件(如,
PostScript,AutoCAD),文本文件(如,HTML,SGML等)而需要構(gòu)造解析器。ANTLR 被設計出來處理所有這些轉(zhuǎn)換工作。