
一个用C#开发的词法分析器。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
1、该词法分析器具备至少识别以下几种类型的单词的能力:首先,它需要能够识别关键字,包括“else”、“if”、“int”、“return”、“void”、“while”共六个,这些关键字均为保留字,并且必须采用小写形式;其次,它需识别与C语言词法规范相一致的标识符,并根据以下正则表达式进行定义:ID = letter (letter | digit)*;第三,它应能识别常数,其形式定义为NUM = digit digit*(.digit digit* |ε)(e(+ | - |ε) digit digit* |ε),其中letter = a|..|z|A|..|Z|,digit = 0|..|9,涵盖整数(如123),小数(如123.45),以及科学计数法表示的常数(如1.23e3、2.3e-9);最后,它还需要识别专用符号,包括+ - * / < <= > >= == != = ; , ( ) [ ] { } /* */; 2、分析器的输入是基于上述各类单词构建的程序代码,而其输出则是该段代码的机内表示形式。具体而言,关键字、运算符和界限符将被转换为其对应的机内符;常数则采用二进制形式表示;标识符则通过相应的标识符表指针进行指示。 3、词法分析器应当具备检测源程序中潜在词法错误的判断能力,例如能够识别不可识别的符号以及其他错误的词法结构。
全部评论 (0)
还没有任何评论哟~


