/** This method is called by YourLexer.nextToken() * when the lexer has * hit EOF condition. EOF is NOT a character. * This method is not called if EOF is reached * during syntactic predicate evaluation or during * evaluation of normal lexical rules, which * presumably would be an IOException. This * traps the "normal" EOF * condition. * * uponEOF() is called after the complete evaluation * of the previous token and only if your parser asks * for another token beyond that last non-EOF token. * * You might want to throw token or char stream * exceptions like: "Heh, premature eof" or a retry * stream exception ("I found the end of this file, * go back to referencing file"). */public void uponEOF() throws TokenStreamException, CharStreamException{} 文件结束条件是一个位比特(从2.7.1版本开始)。因为Terence 将-1当作一个字符而不是一个整型数。(-1 是 '\uFFFF'...晕!).
字符串
字符串常数一个由双引号括起来的一系列字符。在字符串中的字符可以是作为字符也同样合法的转义字符(八进制,Unicode等)。当前,ANTLR实际上不允许Unicode出现在字符串常量中(你不得不用转义符)。这是因为在anglr.g文件中设定charVocabulary选项为ascii.
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




