|  RSS订阅  |  加入收藏

[软考]程序设计语言基础

程序设计语言的基础概念及编译程序原理
摘要

程序设计语言的基本概念

1、低级语言:0、1组成的机器指令序列或汇编语言

2、高级语言:java、c、c++、Python、Delphi、PASCAL

3、编译程序:将源程序翻译成目标语言程序,然后再计算机上运行目标程序。

4、解释程序:直接解释或翻译成中间代码。不生成独立的目标程序。


编译程序基本原理

1、词法分析阶段:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个单词,删掉无用的信息,报告分析时的错误。

2、语法分析阶段:语法分析器以单词符号作为输入,分析单词符号是否形成符合语法规则的语法单位,如表达式、赋值、循环等,按语法规则分析检查每条语句是否有正确的逻辑结构。

3、语义分析阶段:主要检查源程序是否存在静态语义错误,并收集类型信息供后面的代码生成阶段使用,如:赋值语句的右端和左端的类型不匹配。表达式的除数是否为零等。

4、中间代码是源程序的一种内部表示,或称中间语言。中间代码的作用是使编译程序的结构在逻辑上更为简单明确。使用中间代码可提高编译程序的可移植性,常见的有逆波兰记号、四元式、三元式和树。

5、中间代码优化和目标代码生成

6、符号表管理——记录符号的信息

7、出错处理——静态错误(语法错误、静态语义错误)、动态错误


文法

文法G定义为一个四元组(VN,VT,P,S),其中,VN为非终结符集合,VT终结符集合;P是产生式结合;S称为识别符或开始符号,也是一个非终结符,至少要在一条产生式的左边出现。

0型文法:短语文法、图灵机、递归枚举

1型文法:上下文有关文法

2型文法:上下文无关文法(广泛使用)

3型文法:正规式


有限自动机

计算机控制系统的控制程序具有有限状态自动机(FA)的特征,可以用有限状态机理论来描述。

未标题-2.jpg


如文章有用,给个赞助吧
  软考    
转载请注明出处,未经许可禁止商用!
发表评论
*依据《网络安全法》规定,您需实名认证后才能评论!