程序设计语言-软件设计(二十一)
创始人
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。

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...