一直想拥有一个属于自己的词法分析器(扫描器)生成器,本来想在一些现成的开源项目JLex、JFlex上修改,但感觉它们的代码实在难于下手,于是开始自己写,中间停停改改,也不记得做了多久了,现在算是基本成型了。
因为只是自己做,基本上是有了想法就加进去,因此到了后来,和传统的生成器是看上去是很不相像了,但Rsg确实有能力实现复杂扫描器(在examples中用Rsg实现了一个Java源程序扫描器)。主要的特点有:
简单。
在代码点上支持Unicode。
regexp LineTerminator = "
" | "
" | "
" ;
regexp WhiteSpace = LineTerminator | [' ', ' ', 'f'] ;
regexp Comment = "" ;
regexp Letter = ['a'-'z', 'A'-'Z'];
regexp Digit = ['0'-'9'] ;
regexp Identifier = Letter (Letter | Digit) * ;
regexp Integer = Digit + ;
regexp StringCharacter = ~['
', '
本文地址:https://sicmodule.kub2b.com/news/9408.html
企库往 https://sicmodule.kub2b.com/ , 查看更多