文件名称:词法分析Lexer.zip
文件大小:71.76MB
文件格式:ZIP
更新时间:2024-04-30 18:21:16
c++ VS2019 MFC
用C或C++或其他程序设计语言写一个简单的词法分析程序,程序可以满足下列要求: 1、能分析如下几种简单的语言词法 (1) 标识符: ID=letter(letter|digit)* (2) 关键字(全部小写) main int float double char if then else switch case break continue while do for (3)整型常量:NUM=digit digit* (4)运算符 = + - * / < <= == != > >= ; ( )? : (5)空格由空白、制表符和换行符组成,用以分隔ID、NUM、运算符等,字符分析时被忽略。 2、单词符号和相应的类别码 假定单词符号和相应的类别码如下: 单词符号 种别码 int 1 = 17 float 2 < 20 if 3 <= 21 switch 4 == 22 while 5 != 23 Do 6 > 24 标识符 10 >= 25 整型常量 11 ; 26 + 13 ( 27 - 14 ) 28 * 15 ? 29 / 16 : 30 3、词法分析程序实现的功能 输入:单词序列(以文件形式提供),输出识别的单词的二元组序列到文件和屏幕 输出:二元组构成: (syn,token或sum)其中: syn 为单词的种别码 token 为存放的单词自身符号串 sum 为整型常数
【文件预览】:
resource.h
LX.cpp
Lexer.cpp
Debug
----Lexer.log(96B)
----vc142.idb(1.39MB)
----Lexer.exe.recipe(315B)
----Lexer.ilk(2.27MB)
----pch.obj(683KB)
----Lexer.pch(55.44MB)
----Lexer.vcxproj.FileListAbsolute.txt(74B)
----Lexer.pdb(2.89MB)
----LX.obj(841KB)
----Lexer.obj(72KB)
----Lexer.res(68KB)
----Lexer.tlog()
--------rc.command.1.tlog(460B)
--------CL.read.1.tlog(121KB)
--------link.read.1.tlog(6KB)
--------rc.read.1.tlog(3KB)
--------link.write.1.tlog(1KB)
--------CL.write.1.tlog(4KB)
--------Lexer.lastbuildstate(188B)
--------link.command.1.tlog(2KB)
--------CL.command.1.tlog(3KB)
--------rc.write.1.tlog(286B)
----vc142.pdb(7.08MB)
----Lexer.exe(377KB)
----LexerDlg.obj(315KB)
framework.h
pch.h
.vs
----Lexer()
--------v16()
Lexer.h
Lexer.vcxproj.user
LX.h
Lexer.rc
pch.cpp
res
----Lexer.rc2(666B)
----Lexer.ico(66KB)
Lexer.vcxproj.filters
Lexer.vcxproj
LexerDlg.cpp
Lexer.sln
Lexer.aps
LexerDlg.h
targetver.h
TestData.txt
Result.txt