程序设计语言与语言处理程序基础
内容提要
- 编译与解释
- 文法
- 正规式
- 有限自动机
- 表达式
- 传值与传址
- 多种程序语言特点
编译过程

文法定义


语法推导树
一棵语法树应具有以下特征:
1、每个结点都有一一个标记,此标记是V的一个符号;
2、根的标记是S;
3.若一结点n至少有一个它自己除外的子孙,并且有标记A,则A肯定在VN中:
4如果结点n的直接子孙,从左到右的次序是结点n1, n2,..nk,其标记分别是:A1,A2,...,Ak那么A->A1,A2,...Ak,一定是P中的一个产生式。
例:

有限自动机(重点)


正规式
正规式是描述程序语言单词的表达式,对于字母∑,其上的正规式及其表示的正规集可以递归定义如下。
①ε是一个正规式,它表示集合L(ε)={ε}。②若a是∑上的字符,则a是一个正则式,它所表示的正规L(a)={a}。③若正规式r和s分别表示正规集L(r)=L(s),则(a)r|s是正规式,表示集合L(r)UL(s);(b)r.s是正规式,表示集合L(r)L(s); (c)r*是正规式,表示集合(L(r))*;(d)(r)是正规式,表示集合L(r)。仅由有限次地使用上述三个步骤定义的表达式才是∑上的正规式。由此可见,正规式要么为空,要么由字母、或、连接、闭包运算符组成。其中闭包运算符“*”具有最高的优先级,连接运算具有次高优先级,或运算符“|"具有最低优先级。
文法推导与正规式例题

(1):D (2):C
有限自动机例题
例题:
下图所示为一个有限自动机(其中,A是初态、C是终态),该自动机可识别(C)。

A:0000 B:1111
C:0101 D:1010
程序语言基础-表达式
- 前缀表达式(+ab)
- 中缀表达式(a+b)
- 后缀表达式(ab+)

例题:
表达式(a-b)*(c+5)的后缀式是(D)。
A:a b c 5 + * -
B:a b - c + 5 *
C:a b c - * 5 +
D:a b - c 5 + *

函数调用-传值与传址
(重点)


函数的调用
传值

输出结果是:4 3 3 4
传址

输出结果:4 3 4 3
函数的调用

程序语言基础-各种程序语言特点
1.Fortran语言(科学计算,执行效率高)
2.Pascal语言(为教学而开发的,表达能力强, Delphi )
3.C语言(指针操作能力强,高效)
4.Lisp语言(函数式程序语言,符号处理,人工智能5.C++语言(面向对象,高效)
6.Java语言(面向对象,中间代码,跨平台)
7.C#语言(面向对象,中间代码,.Net)
8.Prolog语言(逻辑推理,简洁性,表达能力,数据库和专家系统)
9.python语言(面向对象,简单易懂,人工智能,大数据,现上升较快)
更多软考自查可在我的"文章"中查看!!!
本文围绕程序设计语言与语言处理程序基础展开,介绍了编译过程、文法定义、正规式等内容。提到正规式运算符优先级,还给出文法推导、有限自动机等例题。阐述表达式的前缀、中缀、后缀形式,讲解函数调用的传值与传址,最后列举多种程序语言特点。

被折叠的 条评论
为什么被折叠?



