【软件设计师07】程序设计语言与语言处理程序基础

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

编译与解释、文法、正规式、有限自动机、表达式、传值与传址、多中程序语言特点

1. 编译过程

【软件设计师07】程序设计语言与语言处理程序基础_第1张图片

2. 文法定义

(逐渐降低考察比例,很少考察)

概念

【软件设计师07】程序设计语言与语言处理程序基础_第2张图片

文法类型

【软件设计师07】程序设计语言与语言处理程序基础_第3张图片

语法推导树

【软件设计师07】程序设计语言与语言处理程序基础_第4张图片

有限自动机与正规式(重点)

常见问题:给一个串比如01、10、001等,看图中起点到终点能否连起来得到这样的串

【软件设计师07】程序设计语言与语言处理程序基础_第5张图片

正规式 是有限自动机到另一个表达形式

【软件设计师07】程序设计语言与语言处理程序基础_第6张图片

正规式例题:(1)A. S -> aA -> abS -> abaA -> ababS -> ababaA -> ababab 成立

同理推出B、C成立,D无法识别

(2)(*表示可以组合任意次数)常规解法很慢,用代入法可以快速推理

看(2)中哪一个能把刚刚(1)中正确的串(ACB)都表示出来但又不能把错误的串(D)表示出来就“可能”是正确答案

A. a|b随意组合后ABCD都可以表示,排除

B. ab A可以,BCD不可以,排除

C. ab|ba A,B,C都可以,D不可以;(2)ABD都排除后选择C

D ab|ba 表示前面任意个ab连接若干个ba串,不能组合出(1)中的C,所以排除

【软件设计师07】程序设计语言与语言处理程序基础_第7张图片

**有限自动机例题:**C ;判断从初态A输入四个数能否到达终态C

【软件设计师07】程序设计语言与语言处理程序基础_第8张图片

3. 表达式

先构造表达式的树,注意括号限制的顺序,然后得出D

如果没有括号,a - b * c + 5;先看乘法,组成结点,再看a - b * c,再加上6结点构成树

【软件设计师07】程序设计语言与语言处理程序基础_第9张图片

4. 函数调用 - 传值与传址

基本操作…

【软件设计师07】程序设计语言与语言处理程序基础_第10张图片

5. 各种程序语言的特点

【软件设计师07】程序设计语言与语言处理程序基础_第11张图片

你可能感兴趣的:(编译过程,表达式,正规式,有限自动机,传值与传址)