【软考学习】第三章——程序语言和语言处理程序知识

来源:互联网 发布:javascript join函数 编辑:程序博客网 时间:2024/05/22 02:47

【背景】

软考系列博客第三篇。关于程序语言和语言处理程序的知识

【内容】

程序语言和语言处理程序基础知识

  • 汇编、编译、解释系统基础
    • 解释与编译
      • 编译型
        • 接受所输入的用程序语言编写的源程序,然后直接解释执行。(BASIC)
      • 解释型
        • 将用某种程序语言编写的源程序直接翻译成另一种语言(目标程序语言),而且两者在逻辑上等价(C语言)
    • 编译过程
      • 词法分析
        • 从左到右逐字符读入源程序,识别出一个个单词符号;它是根据语言的词法规则(单词结构规则)进行的。
      • 语法分析
        • 在词法分析的基础上将单词符号序列分解成各类,诸如“程序”,“语句”,“表达式”等语法单位。
      • 语义分析
        • 审查源程序有无语义错误,为代码生成阶段收集类型信息
      • 中间代码生成
        • 逆波兰
        • 三元式
        • 四元式
        • 树形
      • 代码优化
        • 定义
          • 对程序进行等价变换,使其生成更有效的目标代码
        • 局部优化
        • 循环优化
        • 全局优化
      • 目标代码生成
        • 把经过语法分析或优化后的中间代码作为输入,将其转换成特定机器的机器语言或汇编语言作为输出,这样的转换程序称为代码生成器
    • 形式语言基本知识
      • 字母表∑
        • 非空的有穷集合
      • 字符串
        • 由∑的符号组成的有穷系列成为子母表∑上的字符串
        • 包含的字符数称为长度
        • ε(有一个元素)
          • 长度为0的为空串
        • ∅是没有元素的空串
      • 形式语言
        • ∑上的字符串的全体记为∑*,∑*上的任何自己都成为字母表∑上的形式语言,简称语言
      • 前缀、后缀
      • 连接
      • 连续重复
        • 把n个a的链接记为aⁿ
      • 字集运算
        • 或操作
          • A∪B={α|α∈A或α∈B}
        • 积运算
          • AB={αβ|α∈A且β∈B}
        • 幂运算
        • 正则闭包
        • 闭包
      • 形式文法
      • 文法分类
        • 0型文法
        • 1型文法
        • 2型文法
        • 3型文法
          • 右线性文法
          • 左线性文法
    • 词性分析
      • 有限自动机
        • 确定的
        • 不确定的
      • 正规式
    • 语法分析
      • 自底向上
      • 自顶向下
  • 程序设计语言基础
    • 表达式
      • 前缀表达式
      • 后缀表达式
      • 中缀表达式
    • 程序语句基本控制结构
    • 程序调用的实现机制
  • 各种程序语言的特点
    • FORTRAN语言
    • PASCAL语言
    • C语言
    • Lisp语言
    • C++语言
    • Java语言
    • C#语言
    • Prolog语言
0 0
原创粉丝点击