参考书目

[1] What is ANTLR?

[2] 【整理】关于antlr中出错"The following token definitions can never be matched because prior tokens match the same input"的原因和解决思路

[3] 【整理】和ANTLR有关的历史和背景知识

[4] 【整理】antlr的历史版本

[5] 【整理】ANTLR应用案例

[6] 【整理】antlr在技术上的优势

[7] 【整理】与antlr开发相关的一些东西:StringTemplate,antlr的IDE(antlrworks,Eclipse的antlr插件)

[8] ANTLR Basic Tutorial

[9] 【记录】搭建ANTLR v4开发环境

[10] 【已解决】antlr v4中运行grun Hello r -tree,结果无输出

[11] 【已解决】运行grun Hello r -tree出错:Can’t load Hello as lexer or parser

[12] 【记录】把ANTLR v3整合到Android的App中

[13] 【记录】把通过TreeParser去解析树Tree的功能集成到(Android的)Java环境中

[14] 【整理】antlr中的各种语法:集合元素(Element Sets),标签元素(Element Labels),构造树操作符(Tree construction operators)

[15] 【整理】ANTLR v3的语法

[16] 【整理】antlr中的.g语法文件中的lexer和parser的header的语法和含义

[17] 【整理】antlr v2和antlr v3的语法的差异

[18] 【整理】antlr语法中的fragment

[19] 【已解决】用antlrworks-1.2.2.jar编译代码出错:error: cannot find symbol,g.NEWLINE();,symbol: method NEWLINE()

[20] 【已解决】antlr调试时,antlr的语法是对的,但是却无法完全识别输入的测试数据,仅识别第一行

[21] 【记录】写antrl的语法时的一个心得

[22] 【总结】使用ANTLR和ANTLRWorks的开发心得和注意事项

[23] 【记录】将当前的ANTLRWorks 1.4.3,升级到ANTLRWorks 1.5.rc1,实际上是ANTLRWorks 1.5.rc2

[24] 【记录】尝试使用ANTLRWorks 2.0去进行ANTLR开发

[25] 【已解决】ANTLRWorks 2.0编译g4文件出现警告:warning: Supported source version ‘RELEASE_6′ from annotation processor

[26] 【已解决】ANTLRWorks 2.0编译Hello.g4文件结果出错:line 1:0 token recognition error at: ‘W’

[27] 【记录】使用Eclipse开发Antlr:创建antlr项目并编译

[28] 【记录】折腾Antlr的Eclipse插件

[29] 【已解决】Eclipse中对于antlr去Debug(Java)时出错:execution was cancelled reason code generation fails

[30] 【已解决】Eclipse中用Interpreter去运行Antlr代码出错:An internal error occurred during: "ANTLR Event Listener". For input string: "false"

[31] 【未解决】Eclipse中用Debug(Java)调试Antlr出错:unable to connect to ANTLR Debugger,Connection refused: connect

[32] 【记录】使用Eclipse开发Antlr:如何调试antlr项目

[33] 【记录】继续折腾如何使用在Eclipse中调试Antlr项目

[34] 【整理】关于antlr中出错"The following token definitions can never be matched because prior tokens match the same input"的原因和解决思路

[35] 【未完全解决】antlr调试出错:The following token definitions can never be matched because prior tokens match the same input

[36] 【已解决】antrl代码编译出错:Decision can match input such as "’#include’" using multiple alternatives: 1, 2

[37] 【未解决】antlr语法警告:warning: Decision can match input such as "WS" using multiple alternatives: 1, 2

[38] 【未解决】antlr中STRING出现多重匹配的问题:Decision can match input such as "STRING" using multiple alternatives: 1, 2

[39] 【已解决】antlr中支持EDDL的多国语言字符串其中用的是rule而非token

[40] 【已解决】antlr中匹配OPERATOR出错:mismatched input ‘&’ expecting set null

[41] 【已解决】antlr解析出错:MismatchedSetException(0!=null)

[42] 【已解决】antlr解析双引号出错:MismatchedTokenException(0!=0)

[43] 【未解决】antlr中不识别双引号(double quote)

[44] 【基本解决】antlr v3,用包含{$channel=HIDDEN;}语法,结果解析出错:MissingTokenException

[45] 【已解决】error syntax error: antlr: MissingTokenException(inserted [@-1,0:0='<missing EOF>',<-1>,12:4] at ;)

[46] 【已解决】antlr v4的语法出错:line 1:0 mismatched input ‘a’ expecting A

[47] 【已解决】antlr v4测试Hello结果出错:syntax error: unterminated rule (missing ‘;’) detected at ‘c ‘ while looking for lexer rule element

[48] 【已解决】antlr出错no viable alternative at input ‘__LBL__show’

[49] 【已解决】antlr解析字符串STRING出错:no viable alternative at input,对应的错误是NoViableAltException(0@[null])

[50] 【已解决】antlr调试语法代码时出错:mismatched character ’5′ expecting ‘I’,no viable alternative at input ’7′

[51] 【已解决】antlr代码执行出错:xxx.ddl line 16:13 no viable alternative at input ’1′,Recognition exception NoViableAltException(0@[null])

[52] 【已解决】antlr调试解析出错:NoViableAltException(0@[null])

[53] 【已解决】Antlr v3代码编译出错:syntax error: antlr: NoViableAltException(37@[])

[54] 【已解决】Antlr语法编译出错:Cannot generate the grammar because, duplicate token type COMPOSITE_OPERATOR when collapsing subrule into set

[55] 【已解决】antlr语法出错:rewrite syntax or operator with no output option; setting output=AST

[56] 【已解决】antlr调试解析出错:UnwantedTokenException(found=xxx)

[57] 【基本解决】antlr v3中包含{skip();}的语法,调试解析时出错:org.antlr.runtime.EarlyExitException

[58] 【已解决】antlr代码编译出错:reference to rewrite element include without reference on left of ->

[59] 【已解决】antrlworks调试出错:Compiler exception: java.io.IOException Cannot run program "\javac": CreateProcess error=2 The system cannot find the file specified

[60] 【已解决】ANTLRWorks调试出错:Cannot launch the debuggerTab. Time-out waiting to connect to the remote parser

[61] 【已解决】antlrworks中调试出错:xxxParser.java:1870: error: <identifier> expected

[62] 【已解决】ANTLRWorks 1.5编译代码出错:Compiler failed with result code 1

[63] 【整理】antlrworks使用心得,经验总结,注意事项,bug总结

[64] 【已解决】antlrworks再次出错:Compiler exception: java.io.IOException Cannot run program "C:\Program Files(x86)\Java\jre6\bin\javac": CreateProcess error=2

[65] 【记录】antlr的antlrworks某次挂掉的log

[66] 【记录】关于ANTLR中对于预处理的支持:以为支持普通文件的预处理呢,但是实际上是ANTLR自身识别你写的语法文件的预处理

[67] 【记录】将antlr v2的C/C++的preprocess,即cpp.g,转换为antlr v3

[68] 【记录】用antlr的preprocess去预处理一个新的eddl文件去除eddl中不支持的元素对应的文件内容

[69] 【整理】分析cppLexer.g中的多参数的#define实现宏替换的逻辑过程

[70] 【记录】让antlr的预处理,支持无参数的宏替换

[71] 【记录】尝试用antlr处理C代码中的#include

[72] 【记录】antlr异常处理:在ParseTree去getTree之后,判断某个树节点是否出现异常

[73] 【记录】Antlr中的异常处理学习笔记

[74] 【整理】antlr的Exception Handling异常处理中的异常Exception的类型

[75] 【记录】尝试折腾antlr v3的异常处理和错误恢复:VARIABLE的CLASS的值INPUT故意写错为INPUT1

[76] 【记录】antlr的异常处理:遇到第一个错误就停止和退出

[77] 【已解决】在用antlr预处理一个新的hart的eddl文件时希望第一次出错就退出

[78] 【已解决】antlr中尝试出错就退出,结果编译parser出错:error: recoverFromMismatchedSet(IntStream,RecognitionException,BitSet) in xxxParser cannot override recoverFromMismatchedSet(IntStream,RecognitionException,BitSet) in BaseRecognizer,return type void is not compatible with Object

[79] 【记录】用antlr预处理异常MismatchedTokenException时能输出更详细的信息

[80] 【记录】尝试antlr的paraphrase去提供对于用户更好友好的错误信息

[81] 【记录】折腾antlr的异常处理:使得当初错时,输出更详细的错误信息,包含堆栈信息

[82] 【未解决】antlr中setText()在递归嵌套的token中无效

[83] 【未解决】antlr实现#define的宏的多层(递归)替换后,去不掉宏的内容

[84] 【基本解决】用antlr匹配嵌套递归的代码

[85] 【记录】尝试优化antlr的lexer和parser以提高继续速度(解析性能)

[86] 【已解决】antlr v3的lexer的条件性匹配

[87] 【记录】antlr中解析EDDL时解析METHOD中的C代码

[88] 【整理】关于antlr的一些资料

[89] 【资源下载】antlr-4.0-rc-1-complete.jar

[90] 【资料下载】ANTLR的最全的官方文档:The Definitive ANTLR Reference:v2,v3,v4版本都有下载

[91] 【问题】android中调试antlr时执行xxx_return去获得parserResult时出错

[92] 【已解决】antlr中获得的AST的CommonTree这个树的变量中,不存在所想要的父子(parent,child)关系

[93] 【整理】与antlr相关的背景知识:LL(k) vs LR(k), lexer vs parser, NFA vs DFA, computing lookahead