程序设计语言与语言处理程序基础

富坚老贼 富坚老贼     2022-11-11     669

关键词:

重点

一、编译过程

编译型语言与解释型语言区别:https://zhidao.baidu.com/question/193596037.html

这个解释真有趣

 

二、文法定义

 

三、语法推导树

 

四、有限自动机

有限自动机分确定有限自动机(DFA)和非确定有限自动机(NFA)

例1

 例2

不确定的意思是输识别一个字符串有可能有两个目的地

例3

答案
对高级语言源程序进行编译(或解释)方式的翻译过程中,,词法分析采用有限自动机作为计算模型。有限自动机分为确定的有限自动机(DFA)和不确定的有限自动机 (NFA)。可将一个从NFA转换为等价的最小化DFA。
题中的NFA的功能是识别空串以及b不能连续出现(即每个b后至少含有1个a.) 的a、b字符串,若是非空串,则以a结尾。
选项A识别的是空串以及每个b后至少含有1个a的a、b字符串,若是非空串, 则以a结尾。
选项B识别空串以及b不能连续出现且以b结尾的a、b字符串。
选项C识别b不能连续出现且以b结尾的a、b字符串,不能识别空串。
选项D识别b不能连续出现且以a结尾的a、b字符串,不能识别空串。

 

例4

 例5

分析题中所给自动机识别字符串的特点可知,该自动机识别的字符串必须以01结尾,而之前的0和1可以以任意方式组合,因此,正规式为(0丨1)*01。

例 6  如何判断是否能为空?

例 7

 

 

五、正规式

 

 

* 表示字符可以出现0到无限次

 

 

六、 数据类型与程序控制结构

七、表达式

例1

选D

例2 后缀式

 

 例3 后缀式

根据优先级补充括号:   a+(b-c)*d = (a+((b-c)*d))

 例4  

先算的减号后算的乘号,所以*在-的里面

 例4 后缀式

 

后缀式(逆波兰式)是波兰逻辑学家卢卡西维奇发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式。
借助栈可以方便地对后缀式进行求值。方法为:先创建一个初始为空的栈,用来存放运算数。对后缀表达式求值时,从左至右扫描表达式,若遇到运算数,就将其入栈,若遇到运算符,就从栈顶弹出需要的运算数并进行运算,然后将结果压入栈顶,如此重复,直到表达式结束。若表达式无错误,则最后的运算结果就存放在找顶并且是栈中唯一的元素。

 

例5 中缀式

 

八、传值与传址

 

 

九、各程序语言特点

 

 

 

软件设计师笔记-----程序设计语言与语言处理程序基础

文章目录七、程序设计语言与语言处理程序基础7.1、编译与解释(低频)7.2、文法(低频)7.3、有限自动机与正规式(几乎每次都会考到)有限自动机正规式7.4、表达式(偶尔考到)7.5、传值和传... 查看详情

——程序语言和语言处理程序知识

【背景】软考系列博客第三篇。关于程序语言和语言处理程序的知识【内容】程序语言和语言处理程序基础知识汇编、编译、解释系统基础解释与编译编译型接受所输入的用程序语言编写的源程序,然后直接解释执行。(... 查看详情

程序设计基石与实践专栏引导

本博文主要对通过程序设计基石与实践专栏归类,主要分为C语言与C++语言.下面对程序设计基石与实践专栏博文的索引:(待定未完待续)C语言话谈C语言让你成为一名Top的C语言程序员C语言程序员必读的5本书让你成为... 查看详情

计算机基础

一、编程语言的作用    编程语言就是语言的一种,不过是用于与计算机沟通。程序员通过编程语言写出的语句可以对计算机下达可识别的指令,从而使计算机按照程序员发出的指令进行计算处理。即语言是程序员... 查看详情

程序语言基础知识

1.语言概述基本概念  机器指令程序,最基本的计算机语言,二进制的机器指令序列;  汇编语言,书写格式取决于特定计算机的机器指令。  以上皆是低级语言,面向机器的语言。  高级语言:不依赖于机器硬件的程... 查看详情

java基础学习——21io基础

计算机最重要的功能是处理数据。一个有用的计算机语言需要拥有良好的IO功能,以便让未处理的数据流入程序,让已处理的数据流出。与其他语言相比,Java的IO功能显得复杂。在其他语言中,许多IO功能(比如读取文件),是被封... 查看详情

计算机基础与编程语言

1,编程语言的作用及与操作系统和硬件的关系编程语言是一种语言,及它和其他的语言一样,都是用来沟通的介质。程序员编程的本质就是让计算机去工作,而编程语言就是程序员与计算机沟通的介质,所以编程语言的作用就... 查看详情

java程序设计课程介绍

参考技术AJava程序设计与Web应用程序设计哪门课简单java程序设计主要讲解java的基础知识,它是一种语言性的课程。web应用设计则是一种方向性的课程,这个web的设计你可以使用asp,也可以使用jsp,如果是通过jsp来进行web开发的... 查看详情

物联网如何学习?

...联网RFID、M2M、传感网、两化融合等技术与应用。2、C语言程序设计:物联网涉及底层编程,C语言为必修课,同时需要了解OSGi,OPC,Silverlight等技术标准。3、Java程序设计:物联网应用层,服务器端集成技术,开放Java技术也是必... 查看详情

计算机基础

计算机硬件介绍1.编程语言的作用及与操作系统和硬件的关系 编程语言是用来编写应用程序的,是程序员与计算机沟通的介质。操作系统运行与硬件之上,是应用程序和硬件沟通的工具。 应用程序->操作系统->计算机... 查看详情

js程序设计基础

一、什么是软件?什么是程序?什么是计算机语言?软件:是完成某些特定功能,一到多个程序文件的组合。程序:完成指定功能的指令。计算机语言:人与人之间沟通使用的是自然语言。人与计算机进行沟通就使用的是计算机... 查看详情

servlet基础

servlet是运行在web服务器端的java应用程序,它使用java语言编写,具有java语言的优点。与java程序的区别是,servlet对象主要封装了对http请求的处理,并且它的运行需要servlrt容器的支持,在java web应用方面,servlet的应用占有十... 查看详情

《java语言程序设计》✍基础知识整理

Java语言程序设计文章目录Java语言程序设计第1章Java语言概述Java语言的特点第2章Java语言基础2.1标识符2.2数据类型2.3流程控制2.4数组2.5字符串2.6输入/输出第3章类与对象3.1类修饰符3.2成员变量修饰符3.3成员方法修饰符3.4成员变量初... 查看详情

第一章基础知识

计算机编程语言演进机器语言机器语言是机器指令的集合。0和1构成的二进制信息。直接面向机器,与计算机硬件操作一一对应。计算机可以直接识别执行。每一种微处理器都有自己的机器指令集,也就是机器语言。汇编语言汇... 查看详情

clr基础与术语

CLR(CommonLanguageRuntime):一个可由多种编程语言使用的"运行时"。CLR的核心功能(内存管理,程序集加载,安全性,异常处理,线程同步等)可由面向CLR的所有语言使用。托管模块(managedmodule):标准的32位windows可移植执行体(PE32)文... 查看详情

程序-语言-架构师-思想

程序   程序的本质是对现实生活的建模,反映真实世界。程序是对现实的抽象。那我们拿现实与程序对比着看,在现实生活,最重要的是处理人与人之间的关系,处理好人与人之间的关系,生活不会太难,而反映到程... 查看详情

java的基础与程序运行

...是通过在Internet上的应用得以迅速流行,成为一种计算机语言,一个平台,一个网络计算的架构。JAVA语言是一种面向对象编程语言,类是java程序的基本构造单元,JAVA中的所有语句都出现在一个类中。面向对象包括了两个基本概... 查看详情

java基础

1.概述1.1什么是Java语言Java语言:面向对象的程序设计语言与机器无关的二进制格式的类文件Java虚拟机(用来执行类文件)完整的软件程序包(跨平台的API和库)1.1.1Java语言特点语法简单,功能强大分布式与安全性与平台无关解... 查看详情