一、实验目的:通过设计编制调试一个具体的词法分析程序,加深对词法分析原理的理解。
并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。
并依次输出各个单词的内部编码及单词符号自身值。
(遇到错误时可显示“Error”,然后跳过错误部分继续显示)二、实验预习提示1、词法分析器的功能和输出格式词法分析器的功能是输入源程序,输出单词符号。
词法分析器的单词符号常常表示成以下的二元式(单词种别码,单词符号的属性值)。
本实验中,采用的是按类来安排种别码的方式。
2、部分单词的BNF表示(可参考教材43页的状态转换图)->->|||ε->->|ε->+->-->>->>=3、做词法分析器需要把对象语言的词法全部描述出来,在这我们取C语言子集,它的词法如下:(1)关键字mainifelseintreturnvoidwhile……..所有的关键字都是小写。
(2)专用符号=+-*/<=>>===!=;
:,{}[]()(3)空格和空白、制表符和换行符。
空格一般用来分隔ID、NUM、专用符号和关键字,在词法分析阶段通常被忽略。
各种单词符号的种别码,这是一种符号一个编码的设计。
只供参考!单词符号 种别码 单词符号 种别码main 2 [ 28int 1 ] 29char 3 { 30If 4 } 31else 5 , 32for 6 : 33while 7 ; 34ID 10 > 35NUM 20 = 37+ 22 +”,当前字符为’>’,此时,分析器倒底是将其分析为大于关系运算符还是大于等于关系运算符呢?显然,只有知道下一个字符是什么才能下结论。
于是分析器读入下一个字符’+’,这时可知应将’>’解释为大于运算符。
但此时,超前读了一个字符’+’,所以要回退一个字符,词法分析器才能正常运行。
在分析标识符,无符号整数等时也有类似情况。
5、模块结构见附图三、实验过程和指导:(一)准备:1.阅读课本有关章节,明确语言的语法,写出基本保留字、标识符、常数、运算符、分隔符和程序例。
2.编制好程序。
3.准备好多组测试数据。
(二)上机调试:(三)程序要求:程序输入/输出示例:如源程序为C语言。
输入如下一段:main(){inta,b;a=10; b=a+20;}要求输出如右图。
(2,“main”)(5,“(”)(5,“)”)(5,“{”)(1,“int”)(2,“a”)(5,“,”)(2,“b”)(5,“;”)(2,“a”)(4,“=”)(3,“10”)(5,“;”)(2,“b”)(4,“=”)(2,“a”)(4,“+”)(3,“20”)(5,“;”)(5,“}”)说明:识别保留字:if、int、for、while、do、return、break、continue;
单词种别码为1。
其他的都识别为标识符;
单词种别码为2。
常数为无符号整形数;
单词种别码为3。
运算符包括:+、-、*、/、=、>、=、<=、!=;
单词种别码为4。
分隔符包括:,、;、{、}、(、);
单词种别码为5。
以上为参考,具体可自行增删。
程序思路(参考):这里以开始定义的C语言子集的源程序作为词法分析程序的输入数据。
在词法分析中,自文件头开始扫描源程序字符,一旦发现符合“单词”定义的源程序字符串时,将它翻译成固定长度的单词内部表示,并查填适当的信息表。
经过词法分析后,源程序字符串(源程序的外部表示)被翻译
2025/5/25 6:43:53 4KB 词法分析
1
**正文**百度地图SDK是为开发者提供的一套强大的地图服务集成工具,主要用于在Android应用中实现地图展示、定位、路线规划、地理编码、反地理编码等功能。
版本v3.7.3是该SDK的一个特定更新,它包含了丰富的类参考、示例代码以及不同功能模块的开发包。
1.**基础地图功能**百度地图SDK的基础地图功能包括地图的加载、显示、缩放、平移、旋转等操作。
开发者可以通过API控制地图的样式,如切换地图模式(普通、卫星、混合)、调整地图透明度、设置地图级别等。
此外,还可以在地图上添加自定义的Marker、InfoWindow(信息窗口)以及Polyline(多边形线)来展示地理位置信息。
2.**定位功能**SDK提供了集成的定位服务,支持GPS、WiFi、基站等多种定位方式,可以获取用户的实时位置。
开发者可以设置定位参数,如定位频率、定位精度等,并通过监听定位事件来实时获取用户的位置变化。
3.**检索功能**百度地图SDK的检索功能允许开发者实现关键字搜索、周边兴趣点搜索、反向地理编码等。
关键词搜索可以查找指定地点,周边兴趣点搜索可以发现用户附近的餐馆、酒店等信息,反向地理编码则可以将经纬度坐标转换为具体的地址信息。
4.**LBS云检索**LBS云检索是百度地图提供的基于云的大数据检索服务,它能处理大量数据并快速响应,适合处理大规模的地点信息。
开发者可以将自有的地点数据上传到云端,然后通过云检索接口进行高效的查询,从而提升应用的检索性能。
5.**路径规划**百度地图SDK提供了多种路线规划算法,如驾车、步行、骑行等,可以根据起始点和目的地计算出最佳路线。
同时,还可以设定途经点、避开限行区域等个性化需求,为用户提供智能化的出行建议。
6.**计算工具**开发者可以利用SDK中的计算工具进行距离测量、面积计算等操作,例如计算两点之间的直线距离、多边形的面积等,这对于物流、测绘等领域非常有用。
7.**示例代码**v3.7.3版本的SDK包含了丰富的示例代码,涵盖了上述所有功能的实现,这为开发者提供了直观的学习和参考。
通过这些示例,开发者可以快速理解和掌握如何在自己的应用中集成和使用百度地图服务。
8.**类参考**类参考文档详细介绍了每个API的功能、用法和参数,是开发者编程时的重要参考。
开发者可以通过查阅这些文档,了解每个类和方法的作用,以便正确地调用和实现所需功能。
百度地图SDKv3.7.3是一个全面的开发工具,可以帮助开发者轻松地在Android应用中集成地图服务,提升用户体验,同时利用LBS云检索和计算工具,实现更高效的数据管理和分析。
无论是小型应用还是大型项目,都可以从中受益。
通过学习和实践,开发者可以充分利用这些功能,创造出更多创新和实用的地图应用场景。
2025/5/19 20:12:43 30.18MB android 百度地图SDK v3.7.3
1
robotFramework是一个通用的自动化测试框架来进行验收测试和验收测试驱动开发模式,它具有易于使用的表格的测试数据和关键字测试驱动方法,其测试功能可通过实现与python或java的测试库进行扩展,同时,对于测试人员来说,通过robotframework,可以实现创建测试与关键字相同的自动化的case。
2025/5/8 22:52:30 7.13MB RF python
1
近年来,随着通信技术的高速发展,网络技术和移动终端性能的不断提高与完善,以及手机、电脑的高普及率,使得人们对终端系统应用开发的需求在不端增大,贪吃蛇游戏是受广大人群喜爱的一款的电脑单机游戏,在这个游戏设计中,牵涉到图形界面的显示与更新、数据的收集与更新,并且在这个游戏的开发中,还要应用c语言的图形库函数。
本文基于c语言,在MicrosoftVisualC++6.0下使用MFC实现需要用图形驱动文件的支持。
游戏所以操作均通过键盘完成,操作简便。
关键字:MFC;
贪吃蛇;
游戏
2025/5/5 15:19:42 4KB MFC、贪吃蛇
1
SDCMS微信后台管理系统ASP源码,属于绝版内容了。
1、关注回复◇支持回复文本消息、图文消息,也可以关闭关注回复。
2、自动回复◇支持回复文本消息、图文消息,以及机器人智能回复,也可以关闭自动回复。
3、关键字回复◇首先进行关键字回复,如果匹配不到则再调用消息的自动回复功能;
◇支持关键字模糊匹配和完全匹配;
◇关键字回复类型:文本消息、图文消息。
4、自定义菜单◇菜单支持类型:外部链接(包含插件引用)、文本消息、图文消息;
◇支持一键发布、删除菜单;
◇支持菜单排序功能。
5、个性化菜单◇可以针对不同标签的粉丝显示不同的菜单;
◇支持菜单一键发布、删除菜单;
◇支持菜单排序功能。
6、粉丝管理◇粉丝关注公众号后自动获取粉丝资料;
◇支持单个和批量获取粉丝资料;
◇支持对粉丝设置备注信息;
◇支持查看粉丝大头像;
◇支付粉丝分组管理,批量移动粉丝到对应分组(自动同步分组的粉丝数量)。
7、消息管理◇消息类型:文本消息、图片消息、语言消息、视频消息、地理位置和事件;
◇支持微信表情转码,直接以表情显示。
8、素材管理 8.1、图文消息  ◇图文消息的增加、修改、删除、备注;
  ◇支持图文消息自定义模板功能。
  ◇支持图文消息的自由排序。
 8.2、群发消息  ◇支持按粉丝分组群发,也可以直接群发给全部粉丝;
  ◇群发消息类型支持:文本消息和图文消息。
9、插件管理◇支持插件的安装、卸载。
 9.1、微支付插件(用于粉丝、代理商收款、捐款等)【收费插件】  ◇粉丝可以通过此插件给商家付款;
  ◇支持一键清空未付款成功的订单记录;
  ◇支持查看微信支付单号;
  ◇复制调用网址可以配置到自定义菜单里面,实现插件调用。
 9.2微投票插件【收费插件】  ◇支持粉丝在线报名,可后台开关  ◇支持设置报名时间和投票时间  ◇支持必须关注微信公众号才能报名、投票  ◇支持一个微信号只能投票多少次的设置  ◇支持投票选手查询  ◇支持投票排行查看  ◇支持设置背景音乐播放  ◇支持设置虚拟票数(可增加或减少选手的投票总数)  ◇支持设置选手初始票数(默认为0)  ◇支持投票列表分页数量设置  ◇支持选手分享次数统计  ◇支持投票排名数据导出
2025/5/5 6:19:57 5.9MB SDCMS 微信开发 ASP
1
RobotFramework-Selenium2Library1.8中文版,Ride实现软件测试自动化,使用表格式方法编写测试脚本,调用类库关键字实现接口、功能测试,所测对象包括但不限于web,app,客户端等
1.03MB 测试框架
1
一种通用的sift-surf-orb的程序,只需要改变相应的关键字就可以检测不同的特征点,对于分析配准问题,三维重建是一个非常好的资源。
同时,代码进行了ransac优化。
可供工程实际应用
2025/4/27 18:02:03 11KB sift surf orb ransac
1
第1章前台本网站的前台主要实现的网络在线考试及成绩查询等功能。
1.1注册想要进行在线考试必须先登录,如果您是新用户需要先进行注册,以获取登录密码,单击登录页面中的“注册”按钮,进入“学生注册信息”页面。
在此页面中填写完整的注册信息,单击“注册”按钮,完成注册操作。
注意:如果忘记密码可以通过密码问题及问题答案来找回密码。
1.2在线考试在线考试的操作步骤如下:(1)进入登录页面,在学生证号、密码及验证码处填写正确的登录信息,单击“登录”按钮,进入前台在线考试的主页面,学号:0000000000000001,密码:25175。
(2)阅读完考生规则后,单击“开始”按钮,进入选择考试套题页面。
(3)在此页面中选择考试课程及相应的套题名称,单击“同意”按钮,进入准备考试页面。
(4)单击“开始”按钮,进入考试页面。
(5)考试时间为20分钟,20分钟后如果不交卷,自统自动提交考卷。
单击“交卷”按钮,下面将显示您的考试成绩。
(6)单击“退出当前系统”按钮,完成本次在线考试。
1.3成绩查询登录成功后,在此页面的右上方单击“查询成绩”按钮,进入查询页面。
在此页面中考生不但可以查看自己的考试成绩,还可以查看其他考生的成绩。
在查询条件处选择相应的查询条件,并输入查询关键字,单击“查询”按钮,下方列表栏中显示查询结果。
第2章后台在登录页面中的“学生证号”处输入管理员用户名“25175”,在密码处输入“25175”,填写正确的验证码,并勾选“管理员登录”复选框,单击“登录”按钮,后台主要包括:管理员、管理注册学生、管理课程信息、管理套题信息、管理考生成绩、管理考试题目、添加试题。
其中管理员、管理注册学生、管理课程信息、管理套题信息、管理考生成绩、管理考试题目的操作方法相同,下面以管理员为例,讲解其操作方法。
在功能导航区中单击“管理员”按钮。
此页面主要实现添加、修改、删除、查询管理员信息等功能。
管理员页面的操作方法如下:(1)添加管理员。
单击“添加管理员”按钮,在管理员名称及管理员密码处填写管理员名称及密码,然后单击“添加”按钮,完成添加操作。
(2)修改。
单击“修改”按钮,在此页面中可对管理员的名称及密码进行修改,修改完成后,单击“修改”按钮,完成修改操作。
(3)删除。
单击“删除”按钮,即可删除该条管理员信息。
(4)查询。
在查询条件处选择相应的查询条件并输入相对应的关键字,单击“查询”按钮,下方显示查询结果,完成查询操作。
在功能导航区中单击“添加试题”按钮,进入如图2.6所示的页面,在此页面中选择要添加的试题的所属专业、课程主套题名称。
单击“选择”按钮,在此页面中填写完整的试题信息,单击“添加”按钮,完成添加操作。
2025/4/24 12:43:29 1.69MB 在线考试源码
1
目的:通过调研目前教学管理系统中的成绩管理子系统,了解成绩管理子系统的业务流程;
通过分析比较,结合用户对成绩管理子系统的改进意见与实现情况,运用面向对象思想方法,设计和实现一个满足功能和性能,并有所创新的成绩管理子系统,以提高成绩管理的自动化、友好性等。
本系统基于.NET平台和SQLServer数据库,通过毕业设计,可以使学生对.NET结构下开发B/S模式的分布式三层数据库系统有一个全面的了解。
本系统从功能上划分可分为以下几大模块:功能模块管理,组权限管理,学生信息管理,课程信息管理,学生成绩管理,授课信息管理,学生信息查询,学生成绩统计等几大模块。
以下将对各子模块进行说明。
功能模块管理:将系统功能模块保存到数据库中以便于动态地进行不同用户组权限的分配等操作。
本模块包括功能模块的添加,删除,修改等。
组权限管理:对用户进行分组,并将权限设置到不同的用户组。
学生信息管理模块:输入学生基本信息,并可以对学生信息进行添加、查询、修改、删除。
还可以关键字查询并从数据库里调出的学生基本信息.输出学生基本信息,学号、班号、姓名查询的信息结果。
课程信息管理:设置课程号,课程名,先修课等课程信息。
成绩信息管理模块:输入成绩信息,并可以对成绩信息进行添加、查询、修改、删除。
还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。
输出查询的学生成绩信息。
授课信息管理:对教师授课信息的调度,安排等信息的管理。
学生信息查询:本模块是可对学生成绩进行查询,可按学号,姓名,年龄,所在院系,入学年份等不同条件独立查询或进行模糊查询。
学生成绩统计:对学生成绩总分,平均分等进行统计。
系统管理员后台用户名为admin密码为www.mycodes.net普通用户(测试用例)用户名为:user01,密码:111111DB下为Sql数据库,附加即可论文下为该程序的论文及论文目录
1
/*每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。
系统能够完成员工信息的查询、更新、插入、删除、排序等功能。
(1)排序:按不同关键字,对所有员工的信息进行排序。
(2)查询:按特定条件查找员工。
(3)更新:按编号对某个员工的某项信息进行修改。
(4)插入:加入新员工的信息。
(5)删除:按编号删除已离职的员工的信息。
(6)程序要求操作方便,灵活。
*/
2025/4/21 13:38:54 53KB C语言版员工管理系统
1
共 381 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡