这次实验是用C语言对pl/0的编译器进行扩展,实现了一下几个功能:(1)给PL/0语言增加像C语言那样的形式为/……/的注释。
(2)给PL/0语言增加带else子句的条件语句和exit语句。
(3)给PL/0语言增加输入输出语句。
(4)给PL/0语言增加带参数的过程。
(5)给PL/0语言增加布尔类型。
(6)给PL/0语言增加数组类型。
(7)给PL/0语言增加函数类型。
(8)给PL/0语言增加实数类型。
(9)分离解释器和编译器为两个独立的程序。
压缩包中还有实验要求以及参考文档等,希望对大家编写pl0编译器有帮助。
2023/7/5 2:26:30 272KB pl/0编译器,编译原理实验
1
IARSystems发布的visualState是基于UML状态机的建模工具,允许开发人员在状态机的层次上开发和调试,然后直接生成可用的C代码,尽量减少人工编码引进错误的可能。
对于复杂的逻辑,如果不使用层次状态机来剖析它的复杂性,而试图靠大脑if…else…直接编码,错误是难免的。
嵌入式系统很多用在涉及人身安全的领域,出现错误后果相当严重。
目前,visualState已经用在各种设备的开发中,包括取款机、红外夜视仪、阿帕奇直升机的部件等。
IARSystems还和SCIOPTA达成了合作协议,将IAR的工具和SCIOPTARTOS结合起来,共同聚焦于安全苛求的应用,提供通过国际电工委员会IEC61508标准认证的一站式的解决方案。
创业公司Axilica发布了EDA工具FalconML,帮助工程师从UML到SystemC,然后到FPGA或ASIC实现。
SoC(芯片上系统)的复杂度越来越高,基于C++、加上硬件扩展库的SystemC(http://www.systemc.org)成为新一代的设计语言。
2005年12月,SystemC通过IEEE标准协会的审查,取得IEEE1666标准,更值得我们投入精力去研究它。
《基于状态机的嵌入式系统开发》(21世纪高等学校嵌入式系统专业规划教材)内容简介基于状态机的嵌入式系统开发是当前流行、前景广阔的嵌入式系统开发方法。
本书是基于状态机的嵌入式系统开发的入门指导书,兼顾理论性与实践性,介绍了嵌入式系统及状态机的基础知识,同时加入了生动的实际案例程序。
  本书内容分为3篇。
第1篇为引入篇,介绍状态机建模平台与入门实验;
第2篇为理论与实践篇,主要介绍了UML状态机理论基础、visualSTATE状态机和丁具链、visualSTATE状态机建模案例以及系统整合;
第3篇为创新没汁篇,具体讲述厂将visualSTATE牛成的代码集成到STM32的具体例广ATM取款机设计,并在最后展示了实际中——款车灯系统应用visualSTATE快速建模的过程。
  本书由浅入深,循序渐进,适合刚接触基于状态机的嵌入式系统开发的初学者学习,也可作为大中专院校嵌入式相关专业本科生、研究生的教材,同时还可以作为从事嵌入式系统应用开发工程师的参考书。
2023/7/4 2:10:04 87.27MB visualSTATE 状态机 嵌入式
1
索尔普一个和拼合为复仇的源文件。
solpp是专门为solpp设计的,这意味着它实际上了解solpp一些语法,并提供适用于Solidity原语的高精度数学和内置函数。
产品特点通过合并所有裸露的导入来您的源文件,以便在上轻松进行合同验证。
甚至将包括URL导入及其依赖项。
简单,实用的语言,受C预处理程序指令,python和javascript启发。
使用#def指令轻松在源文件中声明符号和宏函数。
#if/#elif/#else块,用于条件代码渲染。
#for重复代码块。
用$(...)扩展(替换)或用$$(...)符号,宏和表达式在代码中的任何位置进行求值。
2023/5/15 16:52:26 107KB ethereum smart-contracts preprocessor solidity
1
//患上到纵情一个元素的纵情一个属性的之后的值---之后属性的位置值functiongetStyle(element,attr){returnwindow.getComputedStyle?window.getComputedStyle(element,null)[attr]:element.currentStyle[attr]||0;}//动画函数obj---要实施为画的货物json---要实施到的目的的参数货物fn为实施实现后的回调函数(能够再次挪用此方式依据上面格式传参--秩序实施多个动画)//挪用例://zIndex:1000//透明度opacity:数字尺度----小数---放大100倍//my$("btn1").onclick=function(){//varjson1={"width":400,"height":500,"left":500,"top":80,"opacity":0.2};//animate(my$("dv"),json1,function(){//varjson2={"width":40,"height":50,"left":0,"top":0,"opacity":1,"zIndex":1000}//animate(my$("dv"),json2,function(){依据此格式频频重复削减动画将会秩序实施});//});//};functionanimate(element,json,fn){clearInterval(element.timeId);//收拾按时器//按时器,返回的是按时器的idelement.timeId=setInterval(function(){varflag=true;//默许,假如,部份抵达目的//遍历json货物中的每一个属性另有属性对于应的目的值for(varattrinjson){//分辨这个属性attr中能否opacityif(attr=="opacity"){//患上到元素的之后的透明度,之后的透明度放大100倍varcurrent=getStyle(element,attr)*100;//目的的透明度放大100倍vartarget=json[attr]*100;varstep=(target-current)/10;step=step>0?Math.ceil(step):Math.floor(step);current+=step;//挪动后的值element.style[attr]=current/100;}elseif(attr=="zIndex"){//分辨这个属性attr中能否zIndex//层级窜改便是直接窜改这个属性的值element.style[attr]=json[attr];}else{//普通的属性//患上到元素这个属性的之后的值varcurrent=parseInt(getStyle(element,attr));//之后的属性对于应的目的值vartarget=json[attr];//挪动的步数varstep=(target-current)/10;step=step>0?Math.ceil(step):Math.floor(step);current+=step;//挪动后的值element.style[attr]=current+"px";}//能否抵达目的if(current!=target){flag=false;}}i
2023/4/22 10:14:06 3KB web animate
1
这才是正宗的,网上本搜不到,吴鹏s、b,吴歉收s、b的都是错的。
1
用法:约莫使用,惟独你卖力查验这个文件,就能够知道它的用法,假如还不知,那你把这个代码到场你的游戏轮回中event=pygame.event.poll()ifevent.type==KEYDOWN:print(event.key)else:pass
1
这是一个自己开拓的Android直接发送短信方式附上代码,Android发短信成果,搜罗了对于内容正当性的验证,发送实现弹出揭示。
自己开拓的直接发送短信的方式:  privatevoidsendSMS(StringtelNo,StringsmsStr,Viewv){   PendingIntentpi=   PendingIntent.getActivity(this,0,newIntent(this,Sample_11_1.class),0);   SmsManagersms=SmsManager.getDefault();   sms.sendTextMessage(telNo,null,smsStr,pi,null);   //短信发送告成赐与揭示   Toast.makeText(   Sample_11_1.this,//上下文  "祝愿你,短信发送告成!",//揭示内容  5000 //信息展现功夫  ).show();   v.setEnabled(true);//短信发送实现后规复发送按钮的可用外形  }  敌手机号码以及短信内容的验证部份:  //患上到输入的电话号码  EditTextetTel=(EditText)findViewById(R.id.EditText02);  StringtelStr=etTel.getText().toString();  //患上到输入的短信内容  EditTextetSms=(EditText)findViewById(R.id.EditText01);  StringsmsStr=etSms.getText().toString();  //分辨名码字符串能否正当  if(PhoneNumberUtils.isGlobalPhoneNumber(telStr)){//非法则发送短信   v.setEnabled(false);//短信发送实现前将发送按钮配置为不可用   sendSMS(telStr,smsStr,v);  }  else{//不非法则揭示   Toast.makeText(   Sample_11_1.this,//上下文   "电话号码不适宜格式!!!",//揭示内容   5000//信息展现功夫   ).show();   }
2023/3/25 13:29:03 214KB Android源码-网络编程
1
编译原理实验三一、讨论Oberon-0语言的特点1、保留字与关键字的概念区分保留字只要是用在程序语言的层次架构用途上,比如说IF,THEN,ELSIF,用在程序的循环、分支、判断条件、程序块等组织上,它是程序语言中预定义的,具某些特殊意义规范的单词。
保留字侧重于强调不能被用户作为定义的名字。
关键字是一个只被用在某一部分的程序编程中,关键字在程序语言中同样有特殊的意义特征。
多用于类型定义,如在Oberon中,integer便是用来定义变量类型的关键字。
还有其他的功能如作为程序语言中的某个特定函数的名称,如write,read等(在Oberon中).不同的语言的关键字和保留字的概念区分是不一样的。
例如在C,JAVA中,if,else,while这些都是关键字的范围,而在Oberon中是保留字的范围。
在C语言风格的程序语言中,是将程序控制块的那些保留字也一并归为关键字的。
(这些关键字不可以作为变量,函数的名称,也就是不可以作为程序员使用的标示符)。
2、Oberon与C、Java的差别a)在每逐个个主要的函数过程procedure中,Oberon有begin和end来标志,而在C和java中一般是用花括号来标志。
b)在定义变量时,Oberon是在分号之后,也就是最后在给出具体是什么类型的,而在C、Java中一般是在变量的前面就给出了类型,只是Oberon会先用var说明这是一个变量。
c)Oberon中的可用到数据结构主要有数组,类似C中的结构体,类型选择比较少。
3二、文法二义性讨论该文法没有二义性。
在其他的语言中出现的二义性类型中,比如表达式的parsingtree(存在两颗或以上的parsingtrees)的二义性,需要用算符优先关系来确定的和if-else的匹配问题导致的二义性问题,都在该文法中的EBNF定义中被消除掉了。
1、对于表达式的二义性处理:simple_expression=["+"|"-"]term{("+"|"-"|"OR")term};term=factor{("*"|"DIV"|"MOD"|"&")factor};从中,可以看出*和DIV、MOD这些一定在+-之前就进行运算了。
通过将表达式的将+-和*DIV、MOD等用不同层次的表达式进行定义,消除了这一二义性。
2、对于if-else匹配出现二义性的处理:
2023/3/8 21:01:58 2.96MB Oberon-0
1
2019年Java程序设计100总复习题库及答案,编写一个Java程序,用if-else语句判断某年份能否为闰年。
编写一个Java应用程序,从键盘读取用户输入两个字符串,并重载3个函数分别实现这两个字符串的拼接、整数相加和浮点数相加。
2023/3/8 10:30:31 178KB 2019年 Java题库 Java程序 Java题集
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
共 58 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡