实验一:词法分析程序一、实验目的   通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。
并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。
并依次输出各个单词的类型码及单词符号的自身值。
(遇到错误时可显示“Error”,然后跳过错误部分继续显示)二、实验要求用C或C++写一个简单的词法分析程序,程序可以满足下列要求:1、能分析如下几种简单的语言词法(1)标识符:ID=letter(letter|digit)*(2)关键字(全部小写)mainintfloatdoublecharifthenelseswitchcasebreakcontinuewhiledofor(3)整型常量:NUM=digitdigit*(4)运算符=+-*/=25整型常量11;26+13(27-14)28*15?29/16:303、词法分析程序实现的功能输入:单词序列(以文件方式提供),输出识别的单词的二元组序列到文件和屏幕输出:二元组构成:(syn,token或sum)其中:syn为单词的种别码token为存放的单词自身符号串sum为整型常数例:源程序:intab;
floatef=20;
ab=10+ef;
输出:(保留字--1,int)(标识符--10,ab)(分号--26,;)(保留字--2,float)(标识符--10,ef)(等号--17,=)(整数--11,20)(分号--26,;)(标识符--10,ab)(等号--17,=)(整数--11,10)(加号--13,+)(标识符--10,ef)(分号--26,;)4、自己准备测试数据存放于TestData.txt文件中,测试数据中应覆盖有以上5种数据,测试结果要求以原数据与结果对照的方式输出并保存在Result.txt中,同时要把结果输出到屏幕。
5、提前准备① 实验前,先编制好程序,上机时输入并调试程序。
准备好多组测试数据(存放于文件TestData.txt中)。
6、写出实验报告 报告格式:要求有实验名称、实验目的、实验要求、实验内容、实验小结。
其中实验内容包括算法分析、程序流程图及程序代码。
2023/2/21 22:09:07 7KB 词法分析 源代码
1
1)训练要点①掌握字典结构类型的创建方法。
②掌握字典元素的增添、删除、修改、查询等常用操作。
③掌握字符串方法split函数的使用。
④初步掌握Python中if-elif-else控制流语句的使用。
2)需求说明保存已有好友通讯录信息,并通过字符串提示用户对好友通讯录信息进行增删改查等操作,输入数字1进行好敌对友添加,输入数字2删除好友,3和4分别进行好友信息修改和查询,接着根据用户选择的处理方式来进行针对性的好友信息管理。
已有好友通讯录信息如表1-1所示:表1-1好友信息姓名电话地址小明001广州小红002深圳小王003北京3)实训思路及步骤①创建字典对象来保存已有的好友信息。
②使用input函数提示用户选择的方式。
③由于input函数得到的是一个将用户输入信息集合起来的字符串,可以使用字符串方法split函数将字符串按传入的分隔符进行拆分,得到被拆分的子字符串组成的列表。
④使用python中if-elif-else语句进行条件语句语句处理,当if或elif后面的条件语句可以对好友信息字典元素进行增删改查等选择性处理操作。
4)代码实现(附上编写实现的代码)
2019/9/17 2:22:14 3KB 简单 Python 编程基础 好友通讯录
1
榆木<->Haskell备忘单和其他花絮在Elm和Haskell之间往返时,我忘记了运算符和其他东西的集合。
榆树哈斯克尔笔记类型图fmap或<$>修改内在价值键入然后>>=从内部值返回一个新的Type\x->x/2(/2)榆木版本愈加清晰休息休息缺点func:a->bfunc::a->b函数名称和类型分隔符func:数字->数字func::数字a=>a->a类型类<|$|>和<<。
>>没有:crying_face:++<>类型和地图<*>andMap::f(a->b)->fa->fb<|>备用akaa<|>bakaaorb导入My.Module作为X暴露对象(func,Type(..))将My.Module导入为X导入My
2020/4/16 14:52:56 1KB
1
详情查看博客:https://blog.csdn.net/weixin_44155115/article/details/103441240识别保留字:if、int、for、while、do、return、break、continue等等;
单词种别码为1。
其他的都识别为标识符;
单词种别码为2。
常数为整数或浮点数;
单词种别码为3。
运算符包括:+、-、*、/、=、>、=、<=、!=;
单词种别码为4。
分隔符包括:“,”“;
”“(”“)”“{”“}”等;
单词种别码为5。
处理正文(去掉正文):/**/
2021/3/8 8:10:38 7KB 词法分析器 编译原理
1
103976个英语单词库txt版本分隔符是制表符方便大家用python判断单词,也方便大家转为本人想要的数据库
2017/10/6 14:56:19 3.98MB python 字典 数据库
1
tcp粘包拆包处理思路以代码,提供DEMO,采用包长+内容缓冲区组织方法,未采用分隔符以及定长包,因为我觉得包长+内容缓冲区比较灵活
2020/10/4 8:43:58 18KB tcp 粘包 拆包
1
2015全年的cffex.if沪深300股指期货,1分钟数据,min1,数据格式为日期时间,开盘价、最高价、最低价、开盘价、成交量,逗号分隔符,文本格式,可以转换为任意格式,直接存入数据库,全网独家!
2016/4/5 16:55:47 3.41MB 股指期货 沪深300 cffex.if Min1
1
$fscanf(fp_r,"%h",data_in[cnt]);函数可以读取的文件有特定的格式要求;
要求每两个要读取的数据间以空格、回车、正文隔开(刚开始不知道弄了好久都不知道错误在哪,分享给大家)。
verilog在读取的时候没遇到以上符号就认为这是分隔符,所以当你源文件本身就有这些符号时就会跳过,本程序帮你进行文件预处理
2022/10/4 21:35:46 14KB verilog modelsim 读取文件 文件预处理
1
一种基于主题的架构,该主题基于使用十六种颜色的基础精心选择的语法突出显示。
Base16提供了一组准则,详细说明了如何设置语法样式以及如何对构建器进行编码以编译Base16方案和模板。
文献资料模板库要添加您本人的模板,请向提交拉取请求,然后将您的存储库添加到下面的列表中。
存储库命名方案:base16-[template-name](以破折号作为分隔符)。
维护的动态维护的保持由由维护的保持由由维护的维护的维护的维护的维护的维护的由维护保持由(维护的保持由维护的维护的维护的由维护维护的由维护维护的由维护保持由维护由由维护由维护的维护的由维护由维护通过维护保持由保持由由维护的保持由由维护的由维护维护维持由由维护的maintaned通过由维护
2021/2/6 12:53:54 17KB theme scheme builder base16
1
C2Excel.exe2.181.添加文件或者目录2.设置分隔符3.转换(可批量转换)4.新产生的Excel文件覆盖旧Excel文件5.“生成文本文件”产生的是以.xls为后缀的文本文件6.增加“禁用和启用自动公式”功能7.增加“设定单元格文本格式”功能8.自动识别office版本,也可指定后缀名9.如果你安装过office2007然后又卸载重新安装回office2003而且office2007卸载的时候没卸载干净,那么这个软件很有可能会把Excel生成office2007的格式,囧。
处理办法是在开始>运行->输入“regedit”(打开注册表编辑器)->HKEY_CURRENT_USER->Software\\Microsoft\\Office->删除office12,或者office14的键值就可以了O(∩_∩)O多谢使用^_^
2022/9/7 0:46:09 148KB txt 导入excel 转换成Excel
1
共 41 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡