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

正文內(nèi)容

antlr簡介及中文手冊(存儲版)

2025-07-29 08:22上一頁面

下一頁面
  

【正文】 rLexer。 double x = 0。 x = ()。 ExprParser parser( lexer )。void main(){ ExprLexer lexer( cin )。} 。TOK_TAN :tan。039。939。39。 caseSensitive = false。 } | TOK_SIN x = atom { value = sin (x)。} : value=factor ( STAR x=factor {value*=x。} class ExprParser extends Parser。設定ANTLR生成的語言(轉(zhuǎn)自ANTLR中文手冊)ANTLR有很多選項,可以通過在文法文件中的options塊中進行設置,其中包括ANTLR最終生成的語言。939。文法文件的編寫基本是面向被解決的問題的。int main(){try {CalcLexer lexer(cin)。}。RPAREN : ‘)’ 。同理,CalcLexer是詞法分析類,繼承ANTLR里的Lexer類。一.利用ANTLR達到計算器需求:+,-,247。這個超類將是完整定義的(fullyqualified),在雙引號中。為了執(zhí)行詞法分析,你需要指定一個詞法分析器類,它描述了如何將輸入流分離成標記流??蛇x的類的預定義可以是包含在{}中的任意文本。} header 節(jié)是語法文件的第一個節(jié)。} : y=cblock[1,John] 。動作. 在尖括號中的字符序列是語義動作(可能是嵌套的)。ID : ( 39。在詞法分析器中的標記引用將導致調(diào)用一個詞法規(guī)則來匹配該標記的字符。你也可以執(zhí)行手動檢測――自動代碼生成可以通過詞法分析器選項控制。 39。因為Terence 將1當作一個字符而不是一個整型數(shù)。) {eol=true。在詞法分析器規(guī)則中,單引號代表一個可以在輸入字符流中能得到匹配的的字符。, 39。),和能被Java識別的常用的字符轉(zhuǎn)義(39。例如/**This grammar recognizes simple expressions * author Terence Parr */class ExprParser。?。篜arser解析器java類?!arser類分析 一般按照 起始規(guī)則名: 規(guī)則實例名:類型名或規(guī)則名 {Java語句……;}  ?。黄鹗家?guī)則名:任意。主要用于處理經(jīng)過Lexer處理后的各段。 做完這些后,我們就可以痛快的使用其Debug功能了。 選擇/取消39。l Syntax Diagram View,可以方便的查看所輸入的語法結(jié)構(gòu)。l ANTLR Studio有了前面的基礎(chǔ)之后,我們就可以開始真正的工作了。所以當真正要開始寫處理代碼的時候,就要受限于已有的Parser/Lexer中的代碼。像這里就僅僅是打印錯誤棧信息。 這是另一個Action區(qū),ANTLR將會忠實地將這一區(qū)域內(nèi)的信息放置到類的定義當中,相當于類的成員方法,主要為用戶提供一種在Parser種定制可擴展方法的途徑。6.在本例中你可以將包名和其他信息放到這一區(qū)域中,生成的結(jié)果如由面對應代碼部分所示。ANTLRANTLR將上述兩者結(jié)合起來,它允許我們定義識別字符流的詞法規(guī)則和用于解釋Token流的詞法分析規(guī)則。程序設計語言通常由關(guān)鍵字和嚴格定義的語法結(jié)構(gòu)組成。許多任務強烈需要語言解決方案,而不是采用傳統(tǒng)編程語言的做法。通過定義自己的語言規(guī)則,Antlr可以為我們生成相應的語言解析器,這樣便可以省卻了自己全手工打造的勞苦。ANTLR知道怎樣去生成識別程序,語言包括Java,C++,C和不久的Python。 最后,ANTLR只是一件工具,僅僅這些。語法分析器(Parser)編譯器又稱為Syntactical analyser。Antlr使用安裝及使用到()。也就是說,兩個import僅屬于類CalcParser,而不屬于在同一個文件中定義的其他類(如CalcLexer)3. 這里是語法定義部分,你同樣可以將它看成是類定義。我們可以為規(guī)則指定參數(shù)(像上面的int a),制定返回值(int c),甚至拋出一個異常。通常的做法有兩種,一種是像在上一節(jié)中提到的那樣,寫好詳細的語法規(guī)則,在ANTLR生成相應的Java文件之后,就可以直接使用其運行結(jié)果。自動生成的代碼嘛,結(jié)構(gòu)著實也不怎么樣,調(diào)試的時候也麻煩。唯一令人遺憾的是這個插件雖然功能很完善,卻是要收費的,否則只有11天的試用期。l 支持自動的代碼補全功能,提供一個ANTLR文檔的比較全面的提示信息(如下所示)。ANTLR中文手冊06通訊軟件 06382027 鄭毅本文主要概括了一些常用的ANTLR的使用方法,其中有Antlr的主要類,Antlr文法文件形式,生成Java類,如何生成Java類,如何執(zhí)行以及元語言詞匯表。  例如:  class P extends Parser; start Rule  :n:NAME {(Hithere, ());} ; class L extends Lexer;  //oneormorelettersfollowedbyanewline NAME:(’a’……’z’|’A’……’Z’) NEWLINE??; NEWLINE :’\r’’\n’//DOS  |’\n’//UNIX??;具體成分分析: 總體結(jié)構(gòu)   ClassPextendsParser ClassLextendsLexer 兩行同JAVA繼承一樣,P繼承Parser類;L繼承Lexer類。 類型名或規(guī)則名:可以是在Lexer中定義的類型名,也可以是Parser中定義的規(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分隔諸如標識符這樣的詞匯符號時作為分隔符。字符集 字符常數(shù)像Java中那樣被確定。\r39。\39。你可以在詞法分析器規(guī)則的動作中檢測EOF_CHAR符號:// make sure nothing but newline or// EOF is past the endifENDIF{ boolean eol=false。} } } 。). 字符串字符串常數(shù)一個由雙引號括起來的一系列字符。r39。例如,文字“return”將有一個LITERAL_return值與之關(guān)聯(lián)。但是當做標記而不是語法規(guī)則。z39。在字符串和字符中的方括號不是動作分隔符。 符號 描述 (...) 子規(guī)則 (...)* 閉包子規(guī)則(零和多個) (...)+ 正閉包子規(guī)則(一個和多個) (...)? 可選(零個和一個) {...} 語義動作
點擊復制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1