编译原理-词法分析器-用高级语言实现词法分析器功能

该博客探讨了如何运用高级语言实现词法分析器,以从源代码中识别保留字、标识符、常数、运算符和分隔符等单词,并详细介绍了输入范围、输出形式以及错误处理策略。通过实例展示输出格式,如(1, 保留字)、(2, 标识符)等。" 93722756,8653058,PCA算法解析:降维与特征抽取,"['特征抽取', 'PCA', '数据分析', '机器学习', '数据压缩']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目要求:

编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。 并依次输出各个单词的内部编码及单词符号自身值。遇到错误时可显示“Error”,然后跳过错误部分继续显示

1) 输入范围:


2) 输出形式:

例如(1,保留字)、(2,用户自定义变量)、(3,常量)、(4,运算符)、(5,分界符)、(6,ERROR)

/*目前实现的功能有:                                            */
/*  1.识别用户定义的初次定义的变量还是已经定义的变量还是错误字符*/
/*  2.浮点数和常量可以识别读取并输出。                          */
/*  3.识别双目运算符和用户连续输入的分界符                      */
/*  4.程序存在问题:不能正确区分负号和减号,统一输出为减号      */
/*  5.识别注释                                                  */
/*  6.目前仅支持简单C语言程序,可自行扩充字典内容,以扩大程序功能 */
/*                                    Copyright 张壳(ZKeeer)*/
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
#include <map>
#include <ctype.h>
#include <assert.h>

using  namespace std;
multimap<stri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值