freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

antlr簡介及中文手冊-文庫吧

2025-06-14 08:22 本頁面


【正文】 ditplus+命令行”或者干脆寫個ANT腳本也不是不可以,但是總覺得在集成化IDE滿天飛的時代用這個方式有點過于原始,幸好Placid System 為我們提供了一個Eclipse插件來使我們有機會直接走出原始社會。下載地址為:。唯一令人遺憾的是這個插件雖然功能很完善,卻是要收費的,否則只有11天的試用期。ANTLR Studio插件的安裝Eclipse下插件的安裝自不必多說,要注意的是從Placid System網(wǎng)站上提供的license文件,,然后放到ECLIPSE_DIR\plugins\ 目錄(這里 是版本號, 例如 )。安裝成功之后在Eclipse的工具欄上會出現(xiàn)一個詞法分析器的導(dǎo)航按鈕: 當右鍵單點擊你的工程時,你會發(fā)現(xiàn)控制是否使用ANTLR Studio的開關(guān):當打開一個文法文件之后,可以看到如下界面:在右面的大綱窗口,列有所有Parser和Lexer的元素,可以看到Protected Token(例如Number)和其他普通的Token是不一樣的;在左面,不同的區(qū)域是用不同的顏色塊加亮來區(qū)分的。功能介紹ANTLR Studio在Eclipse Help提供了比較詳盡的文檔描述。l 。l Syntax Diagram View,可以方便的查看所輸入的語法結(jié)構(gòu)。l 改進了Debug功能,可以調(diào)試比較大的文法文件。而在這之前,如果一個文法文件很大的話,ANTLR Studio就會拋出異常。l 支持自動的代碼補全功能,提供一個ANTLR文檔的比較全面的提示信息(如下所示)。語法圖表視圖(Syntax Diagram View)在WindowShow ViewOther中選擇顯示這個視圖之后,你就可以使用這個很酷的功能了利用這個視圖,你可以很容易的看到你定義語法的語法結(jié)構(gòu),例如,我的SELECT語句定義如下你只需要將光標標放到selectStatement規(guī)則的任意位置,就可以在Syntax Diagram View中看到:于是完整的語法結(jié)構(gòu)清晰的顯示在了我們面前。這時你只需要將光標放到脫字符號(^)上面(注:脫字符號用于指明在生成語法樹的時候,脫字符號所在的SubRule要作為樹或子樹的根節(jié)點):就會看到:對應(yīng)的SubRule被加亮成粉紅色,而如果你的光標放到的位置是一個Token的話就會變成淡藍色,簡直太酷了。增強的Debug功能想要啟動或關(guān)閉ANTLR Studio的Debug功能,需要完成以下步驟:l 在工程中啟用/取消ANTLR Studiol 右鍵單擊工程,打開“屬性”中的ANTLR Studio選項卡。l 選擇/取消39。Enable debugging in grammar files39。 做完這些后,我們就可以痛快的使用其Debug功能了。與調(diào)試其他Java文件一樣,我們可以在語法文件的任意位置插入斷點:當程序運行至斷點之后,我們同樣可以像調(diào)試普通應(yīng)用程序一樣使用諸如“跳過”,“繼續(xù)”等Java應(yīng)用程序的Debug方式來進行,十分的方便和順手。注:以上資料均來于網(wǎng)絡(luò),鄙人收集整理。ANTLR中文手冊06通訊軟件 06382027 鄭毅本文主要概括了一些常用的ANTLR的使用方法,其中有Antlr的主要類,Antlr文法文件形式,生成Java類,如何生成Java類,如何執(zhí)行以及元語言詞匯表。一、Antlr的主要類:  Antlr中有主要類有兩種(其實還有一種TreeLexer)  Lexer:文法分析器類。主要用于把讀入的字節(jié)流根據(jù)規(guī)則分段。既把長面條根據(jù)你要的尺寸切成一段一段:)并不對其作任何修改?! arser:解析器類。主要用于處理經(jīng)過Lexer處理后的各段。一些具體的操作都在這里?!《?、Antlr文法文件形式:  Antlr文件是*.g形式,即以g為后綴名?! ±纾骸 lass P extends Parser; start Rule ?。簄:NAME {(Hithere, ());}?。弧lass L extends Lexer;  //oneormorelettersfollowedbyanewline NAME:(’a’……’z’|’A’……’Z’) NEWLINE?。弧EWLINE?。骸痋r’’\n’//DOS  |’\n’//UNIX ;具體成分分析: 總體結(jié)構(gòu)   ClassPextendsParser ClassLextendsLexer 兩行同JAVA繼承一樣,P繼承Parser類;L繼承Lexer類。Lexer類分析 一般按照類型名:(匹配的具體規(guī)則)的形式構(gòu)成。是分隔字節(jié)流的依據(jù)。同時可以看到里面可以互相引用。如本例中的類型名NEWLINE出現(xiàn)在NEW的匹配規(guī)則中?!arser類分析 一般按照 起始規(guī)則名: 規(guī)則實例名:類型名或規(guī)則名 {Java語句……;}  ??;起始規(guī)則名:任意?!∫?guī)則實例名:就象Java中“Strings;”的s一樣。規(guī)則實例名用于在之后的JAVA語句中調(diào)用?!☆愋兔蛞?guī)則名:可以是在Lexer中定義的類型名,也可以是Parser中定義的規(guī)則名。感覺就像是int與Integer的區(qū)別?!ava語句:指當滿足當前規(guī)則時所執(zhí)行的語句。Antlr會自動嵌入生成的java類中。三、生成Java類  配置環(huán)境變量:classpath=.;x:\jdk\lib\;x:\:  會在當前目錄下生成如下文件::Lexer文法分析器java類。?。篜arser解析器java類?!。篖exer中定義的類型具體化,供Parser解析器調(diào)用。:當外部的()要調(diào)用當前的類型或規(guī)則時要用到本文件。四、執(zhí)行 編寫Main類.*; classMain{publicstaticvoidmain(String[]args){ try{ Llexer=newL(newDataInputStream()); Pparser=newP(lexer);?。ǎ?; }catch(Exceptione){(exception: e); }執(zhí)行 c:\javac*.java c:\javaMainTerence^ZHithere,Terencec:\元語言詞匯表空格定義 空格,tab符號和換行符號在ANTLR分隔諸如標識符這樣的詞匯符號時作為分隔符。在這之外,它們是被忽略的。例如,“FirstName LastName”對ANTLR來說兩個標記符而不是一個標記符,空格,然后再接著一個標記符。注釋 ANTLR 接受C語言風(fēng)格的塊注釋和C++風(fēng)格的行注釋。在語法類和規(guī)則中,Java風(fēng)格的文檔注釋也是可以接受的,在需要的時候,這些注釋可以被傳遞給生成的輸出文件。例如/**This grammar recognizes simple expressions * @author Terence Parr */class ExprParser。/**Match a factor */
點擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1