程序设计语言基础知识
作者:互联网
程序语言基本概念
低级语言:0、1组成的机器指令序列或汇编语言(如:mov,ax,bx)
高级语言:java、c、c++、python、Delphi、PASCAL等
编译程序:将源程序翻译成目标语言程序,然后在计算机上运行目标程序
解释程序:直接解释或翻译成中间代码。不生成独立的目标程序。
编译程序基本原理
(1)词法分析阶段:输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词,删掉无用的信息,报告分析时的错误
(2)语法分析阶段:语法分析器以单词符号作为输入,分析单词符号是否形成符号语法规则的语法单位,如表达式、赋值、循环等,按语法规则分析检查每条语句是否有正确的逻辑结构。
(3)语义分析阶段:主要检查源程序是否存在静态语义错误,并收集类型信息供后面的代码生成阶段使用,如:赋值语句的右端和左端的类型不匹配。表达式的除数是否为0等
(4)中间代码是源程序的一种内部表示,或称中间语言。中间代码的作用是使编译程序的结构在逻辑上更为简单明确。使用中间代码可提高编译程序的可移植性,常见的有逆波兰记号、四元式、三元式和树。
(5)中间代码优化和目标代码生成
(6)符号表管理——记录符号的信息
(7)出错处理——静态错误(语法错误、静态语义错误、动态错误)
练习:
文法
文法G定义为一个四元组(VN,VT,P,S)其中,VN为非终结符集合,VT终结符集合;P是产生式结合;S称为识别符或开始符号,也是一个非终结符,至少要在一条产生式的左边出现。
G[S]:
S -> aA|bB A.B 非终结符,a.b 终结符
A -> bS|b
B -> aS|b
0型文法——短语文法、图灵机、递归枚举
1型文法——上下文有关文法
2型文法——上下文无法文法(广泛使用)
3型文法——正规式
练习
有限自动机
计算机控制系统的控制程序具有有限状态自动机(FA)的特征,可以用有限状态机理论来描述
练习
标签:文法,型文法,语言,终结符,中间代码,基础知识,程序设计,编译程序,源程序 来源: https://www.cnblogs.com/linbin7/p/10916212.html