这个里面的都是测试数据,总共得分5分。
从控制台输入,不能从文件中读取。
实现了基本功能,加分项目都没有去实现,没有函数数组这些的实现。
这是用C++语言写的,新建parser类别要选C++,其他对于VS的配置和C语言一样。
for语句用的是枚举所有情况,你可以自行修改。
对预备工作中自然语言描述的简化C编译器的语言特性的语法,设计上下文无关文法进行描述借助Yacc工具实现语法分析器考虑语法树的构造:1.语法树数据结构的设计:节点类型的设定,不同类型节点应保存哪些信息,多叉树的实现方式2.实现辅助函数,完成节点创建、树创建等功能3.利用辅助函数,修改上下文无关文法,设计翻译模式4.修改Yacc程序,实现能构造语法树的分析器考虑符号表处理的扩充1.完成语法分析后,符号表项应添加哪些标识符的属性,保存语法分析的结果2.如何扩充符号表数据结构,Yacc程序如何与Lex程序交互,正确填写符号表项以一个简单的C源程序验证你的语法分析器,可以文本方式输出语法树结构,以节点编号输出父子关系,来验证分析器的正确性,如下例:main(){ inta,b; if(a==0) a=b+1;}可能的输出为:0:TypeSpecifier,integer,Children:1:IDDeclaration,symbol:aChildren:2:IDDeclaration,symbol:bChildren:3:VarDeclaration,Children:0124:IDDeclaration,symbol:aChildren:5:ConstDeclaration,value:0,Children:6:Expr,op:==,Children:457:IDDeclaration,symbol:aChildren:8:IDDeclaration,symbol:bChildren:9:ConstDeclaration,value:1,Children:10:Expr,op:+,Children:8911:Expr,op:=,Children:71012:ifstatement,Children:61113:compoundstatement,Children:3 12
2015/5/4 5:41:12 3.77MB LEX YACC 南开 王刚
1
kotlin语言入门基础详细学习资料,包含kotlin基础用法的小例子(每个小例子带有运行截图).引见kotlin的基础语法,数据类型,空类型安全,智能类型转化,区间,数组,函数,类与对象,运算符重载,表达式,kotlin导出为可执行程序等.
1
flatMap和Map差别flatMap2维数组以上可以降维
2016/7/15 3:08:44 68KB swift map flatMap 高阶函数
1
一个可以在Unity进行图片轮播的demo,只需求给一个texture2d的图片数组就可以直接用,有多种切换特效
2019/4/13 12:26:32 96KB unity   C#
1
李庆杨教师经典之作,非线性方程组的数组解法,值得学习
2018/4/2 17:44:09 6.7MB 非线性方程组
1
《C程序设计语言(第2版•新版)》是由C语言的设计者BrianW.Kernighan和DennisM.Ritchie编写的一部引见标准C语言及其程序设计方法的权威性经典著作。
全面、系统地讲述了C语言的各个特性及程序设计的基本方法,包括基本概念,类型和表达式、控制流、函数与程序结构、指针与数组、结构、输入与输出、UNIX系统接口、标准库等内容。
2016/9/5 7:26:14 22.45MB C语言
1
猜字游戏(一)程序设计要求(1)功能要求①玩家每次只能猜一个字母;
不得多次猜测同一个字母;
玩家只能猜错有限次,否则游戏失败;
②猜错的字母将被记录下来;
每次猜测后,游戏应显示出当前猜出的残缺单词,以及当前猜错的所有字母,和剩下的猜错的机会;
③假设玩家猜的字母在单词中,单词中所有的该字母将被视为已猜出,例如:如果原单词是apple,我们猜出了p,则程序应显示当前猜出的残缺单词为-pp--;
④在实现上述功能的基础上,考虑增加时间的限制或者积分方式。
(2)界面友好可操作性强,输入信息符合要求。
(二)程序设计建议(1)数据结构可使用字符串数组存储每次猜对的单词模式,如:char*wordAfterGuess[];可使用字符数组存储猜错的字母,如:charwrongGuess[255];(2)程序模块及功能①初始化模块:设定单词内容、允许猜错次数等;
②判断模块:判断用户能否猜对,记录成功/失败信息;
③显示模块:显示残缺单词;
④输入/定时模块:读入用户输入的字母,控制用户剩余可用时间;
(3)额外要求:如果学有余力,可将备猜单词事先存入一个文件,在初始化模块从文件中随机抽取一个单词给用户猜测。
(三)需要掌握的知识(1)字符串的操作(2)文件的读写方法
2017/9/13 13:04:33 405KB C语言 猜单词 游戏
1
=============================§§§CodeReadme文件§§§=============================◎文件说明本文件包括以下内容:※1、文件说明※2、源码操作说明※3、光盘目录清单◎源码操作说明源代码使用方法是(以实例1为例):将该实例的源码,比如实例1的1.c文件(可以在001目录下找到), 拷贝到tc编译器目录下,运行tc.exe,打开编译器,按【F3】键或者“File->Open”菜单命令,打开1.c文件,按【Ctrl+F9】键,或者“Run->Run”菜单命令,编译运行该程序。
◎光盘目录清单如下:第一部分基础篇001第一个C程序 002运行多个源文件 003求整数之积 004比较实数大小 005字符的输出 006显示变量所占字节数 007自增/自减运算 008数列求和 009乘法口诀表 010猜数字游戏 011模拟ATM(自动柜员机)界面 012用一维数组统计学生成绩 013用二维数组实现矩阵转置 014求解二维数组的最大/最小元素 015利用数组求前n个质数 016编制万年历 017对数组元素排序 018任意进制数的转换 019判断回文数 020求数组前n元素之和 021求解钢材切割的最佳订单 022通过指针比较整数大小 023指向数组的指针 024寻找指定元素的指针 025寻找相同元素的指针 026阿拉伯数字转换为罗马数字 027字符替换 028从键盘读入实数 029字符行排版 030字符排列 031判断字符串能否回文 032通讯录的输入输出 033扑克牌的结构表示034用“结构”统计学生成绩 035报数游戏 036模拟社会关系 037统计文件的字符数 038同时显示两个文件的内容 039简单的文本编辑器 040文件的字数统计程序 041学生成绩管理程序 第二部分数据结构篇042插入排序 043希尔排序 044冒泡排序 045快速排序 046选择排序 047堆排序 048归并排序 049基数排序 050二叉搜索树操作 051二项式系数递归 052背包问题 053顺序表插入和删除 054链表操作(1) 055链表操作(2) 056单链表就地逆置 057运动会分数统计 058双链表 059约瑟夫环 060记录个人资料 061二叉树遍利 062浮点数转换为字符串 063汉诺塔问题 064哈夫曼编码 065图的深度优先遍利 066图的广度优先遍利067求解最优交通路径 068八皇后问题069骑士巡游 070用栈设置密码 071魔王语言翻译 072火车车厢重排 073队列实例 074K阶斐波那契序列 第三部分数值计算与趣味数学篇075绘制余弦曲线和直线的迭加076计算高次方数的尾数 077打鱼还是晒网 078怎样存钱以获取最大利息 079阿姆斯特朗数 080亲密数 081自守数 082具有abcd=(ab+cd)2性质的数 083验证歌德巴赫猜想084素数幻方 085百钱百鸡问题 086爱因斯坦的数学题 087三色球问题088马克思手稿中的数学题 089配对新郎和新娘 090约瑟夫问题091邮票组合 092分糖果 093波瓦松的分酒趣题 094求π的近似值 095奇数平方的有趣性质096角谷猜想 097四方定理 098卡布列克常数 099尼科彻斯定理 100扑克牌自动发牌 101常胜将军 102搬山游戏103兔子产子(菲波那契数列)
2016/1/6 19:03:02 3.04MB C语言编程实例
1
PCLint是GIMPELSOFTWARE公司研发的C/C++软件代码静态分析工具,可以说,PCLint是一种更加严格的编译器。
其主要分为PCLint和FlexeLint,PCLint主要应用于Windows平台,以二进制可执行文件提供,而FlexeLint应用于其他平台,例如Linux,以源代码方式发布。
PCLint在全球拥有广泛的客户群,许多大型的软件研发组织都把PCLint检查作为代码走查的第一道工序。
PCLint不但能够对程式进行全局分析,识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针连同冗余的代码,还能够有效地提出许多程序在
2019/4/6 8:54:10 2.67MB PCLint C c++
1
本书从引见内存和实时内存概念开始,然后讲述了指针变量的概念和它重要的操作(引用和解引用)、指针运算和一维数组、使用指针处理字符串、指针访问多维数组的用法、使用指针访问结构体与成员字段、函数指针概念的用法,以及文件I/O处理等知识。
2020/10/4 16:03:38 24.2MB C语言,指针
1
共 680 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡