程序设计语言-软件设计(二十一)
创始人
2024-05-29 02:30:26
0

数据结构与算法(二十)快速排序、堆排序(四)icon-default.png?t=N176https://blog.csdn.net/ke1ying/article/details/129269655

这篇主要讲的是 编译与解释、文法、正规式、有限自动机、表达式、传值与传址、多种程序语言特点。

  • 编译的过程

解释型 和 编译型

编译型过程:

源程序  词法分析  语法分析  语义分析

中间代码生成   代码优化   目标代码生成    目标程序

词法分析:非法字符、关键字或者标识符错误。

语法分析:语法结构错误,if或者end if不匹配等。

语义分析:死循环或者零除数等。

  • 有限自动机

上面DFA状态转换图可以看到S是起始,{f}表示结束位置。

下面的S输入一个0可以到B,输入一个1可以到A。

C到f意思是,输入一个0可以到f,输入一个1也可以到f。

(a|b)*:abbaab,,ab的任意串。(a或b组成的都能表达出来)

(ab)*:代表ababab...多个或者一个。

(ab|ba)*:abbaabbaab...ab和ba 的任意串。(ab或ba组成的任意)

(ab)*(ba)*:这代表先来若干个ab 再来若干个ba。Ababab...bababa....

表达式 分为前缀表达式、中缀表达式、后缀表达式。(与二叉树的前序、中序、后序遍历一致,分别从 根左右、左根右、左右根来表达)

传值和传址

传值调用:形参取的是实际参数的值,形参的改变不会改变实际参数的值。

引用(传址)调用:形参取的是实参的地址,即相当于实际参数存储单元的地址引用,因此其值的改变会导致实际参数值的改变。

传值和传址的区别:

&a 代表传址,a代表传值。

Int *a代表指针类型的形式参数,int a代表传值的形式参数

C语言高效是他最大的特点。

C++开始面向对象,高效。

Java语言:面向对象,跨平台,中间代码。

Lisp语言:人工智能。

C#:面向对象,中间代码,.net。

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...