长安大学《编译原理》chapter3.pdfVIP

  • 16
  • 0
  • 约4.42万字
  • 约 82页
  • 2018-01-15 发布于浙江
  • 举报
软件工程专业本科课程 编 译 原 理 Compilers Principles 长安大学信息工程学院软件工程系 主讲:李 鹏 第三章 词法分析 • 词法分析器的作用; • 介绍正则表达式、状态转换图和有限自动机 概念; • 词法分析器的自动生成。 2 形式语言 • Chomsky于1956年提出了一种用来描述语言的数学系 统。人们把用一组数学符号和规则来描述语言的方式 称为形式描述,而把所用的数学符号和规则称为形式 语言。 • 形式语言,只是从语法上研究语言。它是抽象的数学 系统,用于模拟程序设计语言的语法。 • 形式语言理论是编译理论的重要基础,它主要研究组 成符号语言的符号串的集合及它们的表示法、结构与 特性。 3 3.1 词法分析器的作用 词法分析器的主要任务是读入输入字符,将它们组成词 素,生成并输出词法单元序列,提供给语法分析使用。 辅助任务: • 过滤注释和空白; • 将各阶段发现的错误与源程序联系起来。 词法单元 源程序 词法分析器 语法分析器 取下一个词素 符号表 3.1 词法分析器的作用 4 词法分析器可以分成两个级联的处理阶段: 1. 扫描阶段; 2. 词法分析阶段。 3.1 词法分析器的作用 5 分析部分划分为词法分析和语法分析阶段的原因: • 简化设计; • 编译器的效率会改进; • 编译器的可移植性加强。 3.1 词法分析器的作用 6 词法单元 模式(pattern )的非形式描述 词素实例 (token ) if 字符i,f if else 字符e,l,s,e else comparison 或=或==或=或或!= =, != id 由字母开头的字母数字串 pi, score, D2 number 任何数值常数 3.14, 10, 2.08E12 在两个” 之间,除” 以外的任 literal 意字符串 “core dumped” 3.1 词法分析器的作用 7 • 识别词法单元时的一些问题  忽略空格带来的困难

文档评论(0)

1亿VIP精品文档

相关文档