资 源 简 介
名称: Arsenal
目标组件:
* 可配置的词法分析器
* 可配置的LR-Parser
* 相关设计,测试工具
已完成组件:
* 可配置的词法分析器
* 可配置的LR-Parser,支持SLR(1),LALR(1)
* 文法设计工具
1. BNF Compiler,生成SLR(1),LALR(1)分析表
1. 内建错误处理
1. 实时观测语法及其分析树
1. 实时报告分析表,冲突,First Follow集合以及左递归,左因子
1.
1.
目录结构:
1. ./Arsenal : Arsenal库代码
1. ./Tools/Win : Windows版工具
1. ./Tools/Mac : Mac版工具
1. ./Prj : 各种编译器的工程
1. ./misc : 一些测试用的文法以及工具和一部分语言的yacc版.
1. ./binary/x86 : 编译后,生成的x86平台下的dll release版,其余binary下结构与其类似,
1. ./temp : 编译器生成的临时文件,例如obj等.
词法分析部分:
1. 例子 :请参考./misc/grammar/中的例子.
1. 技术细节: 基于NFA的正则表达式引擎,支持正向预搜索,逆向预搜索,贪婪,非贪婪,循环等操作,支持SINGLELINE IGNORECASE模式,不支持MULTILINE,"^" "$"永远匹配整个输入的首尾,但是扩展了关键字"B" "E"以便匹配行首尾