实验一:词法分析一、实验目的通过设计一个具体的词法分析程序,加深对词法分析原理的理解。
并掌握在对程序设计语言源程序进行扫描过程中将其分解为各类单词的词法分析方法。
编制一个读单词过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。
并依次输出各个单词的内部编码及单词符号自身值。
二、实验预习提示1、 词法分析器的功能和输出格式词法分析器的功能是输入源程序,输出单词符号。
词法分析器的单词符号常常表示成以下的二元式(单词种别码,单词符号的属性值)。
本实验中,采用的是一类符号对应一个种别码的方式。
2、 单词的BNF表示---_----_----_-+---_--等等3、 模块结构(见课本P95-96)(可根据自己的理解适当修改)三、实验过程和指导:(一) 准备:1. 阅读课本有关章节,明确语言的语法,写出基本保留字、标识符、常数、运算符、分隔符和程序例。
2. 初步编制好程序。
3. 准备好多组测试数据。
(二) 上机:(三) 程序要求:1. 要求用C++Builder或者Dephi或者VC、VB等可视化编程工具编写;
要求有界面(即一般windows下应用程序界面)。
2. 输入为某语言源代码。
程序输入/输出示例:如源程序为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。
(四) 程序思路(仅供参考):0. 定义部分:定义常量、变量、数据结构。
1. 初始化:从文件将源程序输入到字符缓冲区中。
2. 取单词前:去掉多余空白。
调用过程GETNB();3. 提取字符组成单词,利用课本P97图4.5转换图构造单词扫描过程SCAN(),需要根据实际情况加以修改。
4. 判断单词的种别码,调用过程LOOKUP();5. 显示(导出)结果。
2024/10/19 0:44:54 433KB 编译原理 词法分析实验
1
Flink安装包flink-1.10.1-bin-scala_2.12.tgzLinux版本Flink安装包flink-1.10.1-bin-scala_2.12.tgzLinux版本
2024/10/18 12:55:20 266.52MB flink 安装包 1.10.1
1
混合密码系统:DES加密消息,RSA加密DES密钥。
本系统特点如下:1:提供了俩个加密接口。
混合加密,DES加密。
2:本系统的DES可以进行1次DES加密(标准DES加密)和3次DES加密。
它会根据密钥长度,自动选择加密方案。
另外它还能检验密钥的正确性。
3:本系统的RSA密钥长度最大可达600位16进制数(约合720位10进制数)。
加/解密时你可以从文件中导入密钥。
4:本系统可产生长度最大可达300位16进制(约合360位10进制数)的大素数,你可以导出素数,也可以从文件中导入素数,也可以产生一个指定长度的随机大素数。
5:本系统产生RSA密钥对的速度非常快,一般在3秒以内。
产生后,你可以将密钥对导出到文本文件。
6:本系统的混合加密模块也具有对RSA密钥检错的功能。
7:本系统可以保存用户设置的各种选项如:默认路径,是否使用3次DES加密等。
下次启动时,这些选项自动生效。
8:本系统提供了友好美观的界面。
它有5个背景图,每次启动时系统会随机选择其一。
2024/10/18 12:35:52 603KB 综合系统类
1
共10页,表格形式,很全
2024/10/17 18:41:44 9.59MB 房地产 建筑
1
scratch视频教程10---20节的课程,视频高清,下载即可观看,是小朋友学习编程的入门课程,课程简洁易懂,难度由浅到深,学完后,可为学习paython打下坚实基础!
1
这个是适合net开发人员,net快速开发,NET权限系统V3.0;
特点:1、为了数据方便读写,语言的成熟性,选择asp.net开发效率更高效率更快;
2、系统架构采用:耦合性低、重用性高、部署快、可维护性高等优点的MVC框架进行搭建;
3、系统配置文件数据采用HttpRuntime.Cache进行缓存,使得程序在运行中效率更高、速度更快;
4、数据库的选型,根据系统的数据规模与需求方的相关要求,综合多方考量,调研多种数据库后选定mysql为系统数据库;
其中包括:1.菜单导航管理2.操作按钮3.角色管理4.部门管理5.用户管理(用户权限)6.用户组管理(设置成员,用户组权限)7.系统配置(动态配置系统参数)8.附加属性(自定义属性)9.系统日志(异常记录)10.数据库备份/还原11.资源管理,(动态数据库)12.个人信息(基本信息,附加信息,用户角色,拥有权限)13.首页快捷14.数据回收站(业务功能删除过数据,全部保留在回收站)15.系统个性化设置(切换菜单导航)
1
Java聊天室程序需求分析2.1业务需求 1.与聊天室成员一起聊天。
2.可以与聊天室成员私聊。
3.可以改变聊天内容风格。
4.用户注册(含头像)、登录。
5.服务器监控聊天内容。
6.服务器过滤非法内容。
7.服务器发送通知。
8.服务器踢人。
9.保存服务器日志。
10.保存用户聊天信息。
2.2系统功能模块2.2.1服务器端 1.处理用户注册 2.处理用户登录 3.处理用户发送信息 4.处理用户得到信息 5.处理用户退出2.2.2客户端 1.用户注册界面及结果 2.用户登录界面及结果 3.用户发送信息界面及结果 4.用户得到信息界面及结果 5.用户退出界面及结果2.3性能需求 运行环境:Windows9x、2000、xp、2003,Linux 必要环境:JDK1.5以上 硬件环境:CPU400MHz以上,内存64MB以上 3.1.2 客户端结构 ChatClient.java为客户端程序启动类,负责客户端的启动和退出。
Login.java为客户端程序登录界面,负责用户帐号信息的验证与反馈。
Register.java为客户端程序注册界面,负责用户帐号信息的注册验证与反馈。
ChatRoom.java为客户端程序聊天室主界面,负责接收、发送聊天内容与服务器端的Connection.java亲密合作。
Windowclose为ChatRoom.java的内部类,负责监听聊天室界面的操作,当用户退出时返回给服务器信息。
Clock.java为客户端程序的一个小程序,实现的一个石英钟功能。
3.2系统实现原理当用户聊天时,将当前用户名、聊天对象、聊天内容、聊天语气和是否私聊进行封装,然后与服务器建立Socket连接,再用对象输出流包装Socket的输出流将聊天信息对象发送给服务器端当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加到聊天对象集Message中,以供所有聊天用户访问。
接收用户的聊天信息是由多线程技术实现的,因为客户端必须时时关注更新服务器上是否有最新消息,在本程序中设定的是3秒刷新服务器一次,如果间隔时间太短将会增加客户端与服务器端的通信负担,而间隔时间长就会让人感觉没有时效性,所以经过权衡后认为3秒最佳,因为每个用户都不可能在3秒内连续发送信息。
当每次用户接收到聊天信息后将会开始分析聊天信息然后将适合自己的信息人性化地显示在聊天信息界面上。
4.1.1问题陈述1.接受用户注册信息并保存在一个基于文件的对象型数据库。
2.能够允许注册过的用户登陆聊天界面并可以聊天。
3.能够接受私聊信息并发送给特定的用户。
4.服务器运行在自定义的端口上#1001。
5.服务器监控用户列表和用户聊天信息(私聊除外)。
6.服务器踢人,发送通知。
7.服务器保存日志。
2024/10/16 14:54:49 1.08MB java 源代码 聊天
1
软件名称:私服发布网站管理系统软件版本:v1.2软件类型:商业版发布日期:2015年3月3日运行环境:PHP5+MYSQL5简介:私服发布网站管理系统自发布以来,一直致力为广大私服站长及骨灰玩家提供专业的私服导航服务。
作为商业软件产品,在代码质量、运行效率、负载能力、安全等级、功能可操控性和权限严密性、效率最优化和负载能力最佳化设计等方面都在广大用户中有良好的口碑。
功能简介:会员自助发布:会员发布,会员发布管理,发布审核。
架构轻盈,完全免费与开源:采用轻量MVC架构开发,兼顾效率与拓展性。
全局高效缓存,打造飞速体验。
让简洁与强大并存:强大字段自定义功能,完善的后台开关模块,不会编程也能搭建网站系统。
顶级搜索优化功能:纯静态、伪静态,全部支持自由设置规则,内容、栏目自由设置URL格式。
升级、备份、转移一键完成:一键升级、一键备份、一键转移。
从此,让你的网站维护变得如此轻松。
系统功能:1、会员自助发布,会员发布管理,发布审核2、系统功能:静态HTML生成、自定义模板标签、附件清理、数据备份恢复3、在线升级:一键自动在线安全补丁升级,免除维护烦恼4、自定义字段:强大的自定义字段功能,可按栏目、频道添加各种输入字段,包括文本、数字、单选、多选、编辑器、单附件、多附件、频道关联,并可针对附件单独制定缩略图设置5、搜索引擎优化:独立的页面优化信息设置,方便快捷6、HTML静态:全站纯静态生成功能7、伪静态:全站伪静态功能,可自由指定伪静态规则8、附件检测:自动附件清理功能,一键清除未使用多余附件,保持系统纯净9、高效缓存:全站高效缓存机制,运行飞速体验10、全功能权限设定:分组机制管理权限设定,全功能全栏目均可指定管理权限系统安装方法请参考:“安装教程.doc”版权所有:无版权限制可随意传播QQ:1915127502访问网站后台:http://你的网址/doyo.php后台帐号、密码:admin(登录成功后请及时修改密码)
2024/10/16 9:01:01 1.48MB sf 私服
1
简介1在AutoLISP内部1本书面向的读者2本书是如何组织的3使用本书5使用练习5使用IL盘8使用本书前的准备知识8NewRiders出版社的其它AutoCAD专著9进一步讨论10第一章 入门111.1 组织AutoCAD―进行系统设置的好处111.2 设置目录121.3 选择文本编辑器141.4 调整DOS引导环境151.5 设置AutoCAD应用程序和支持文件171.6 安装IL盘181.7 用DOS批处理文件启动AutoCAD191.8 用UNIX命令文件启动AutoCAD221.9 设置PGPshell命令和别名221.10 从外壳进入操作系统241.11加载AutoLISP和ADS文件和命令251.12 设置原型图绘图环境271.13 本书中层的约定301.14小结31第二章AutoLISP322.1了解AutoLISP的益处332.2 写一个非LISP宏332.3 书写一个简单的AutoLISP表达式342.4 从宏到AutoLISP382.5 写一个完整的AutoLISP例程392.6 从用户获取输入412.7 存储和加载AutoLISP应用程序442.8 开发一个简单的应用程序452.9 联合函数472.10 阅读一个AutoLISP程序512.11 用ACAD.LSP自动加载函数522.12 小结53第三章 AutoLISP的基本要素543.1 理解AutoLISP变量和表达式543.2 用AutoLISP来获取和设置系统变量563.3 创建用户自己的变量和表达式573.4 使用GET函数进行输入593.5 在AutoLISP中使用数学函数633.6 使用几何计算器683.7 使用字符串函数713.8 使用字符函数743.9 使用AutoLISP表753.10 定义用户自己的AutoLISP函数803.11 AutoLISP函数文档833.12 使用一个重要的函数RESET853.13 小结85第四章 理解程序流程864.1 本章中的AutoLISP工具和程序874.2 测试条件值874.3 用程序分支934.4 程序循环964.5 用PROGN函数将表达式成组1
2024/10/16 0:19:27 28.48MB AUTOLISP
1
6、Kubernetes-Service7、Kubernetes-存储8、Kubernetes-集群调度9、Kubernetes-安全10、Kubernetes-Helm及其它功能性组件11、Kubernetes-证书可用时间修改12、Kubernetes-高可用的K8S集群构建
2024/10/15 7:58:03 980MB K8S
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡