西北工业大学:《编译原理》课程教学资源(PPT课件)第3章 词法分析及词法分析程序(3.1)设计扫描器时应考虑的问题

第三章 词法分析及词法分析程序
第三章 词法分析及词法分析程序

3.1设计扫描器时应考虑的问题 ·词法分析程序亦称为扫描器 ·扫描器的任务是识别基本的语法单位一单词 ·3.1.1词法分析的必要性 ·描述单祠的结构比其它语法结构简单,仅用3型文法就够了: ·将单祠积别从语法分析积别分离出来,可采用更有数的工具实现: ·有些语言的单祠识别与前后文相关,不宜将其与语法分析合并 使编译程序各部分独立出来,有利于设计、调试和雅护 。 扫描器的输出是语法分析程序的输入
3.1 设计扫描器时应考虑的问题 • 词法分析程序亦称为扫描器 • 扫描器的任务是识别基本的语法单位——单词 • 3.1.1 词法分析的必要性 • 描述单词的结构比其它语法结构简单,仅用3型文法就够了; • 将单词识别从语法分析识别分离出来,可采用更有效的工具实现; • 有些语言的单词识别与前后文相关,不宜将其与语法分析合并; • 使编译程序各部分独立出来,有利于设计、调试和维护 • 扫描器的输出是语法分析程序的输入

3.1.2单词符号的内部表示 ·常用的内部表示方法:(class,value) ·Class:int指示单词的类别; ·Value:string(or:struct,union,.)用于表示单词的值; ·为便于阅读,常用助记符(或常量标识符、宏定义等)表 示class。 ● 单词的分类方法:可一词一类(+、-、begin、end等)或 多祠一美(如关键字类、操作符类、分隔符类、变量名类、 常数类等)。 ·在识别出变量名、函数(过程)名时,还应进行查填符号 表的工作
3.1.2 单词符号的内部表示 • 常用的内部表示方法: (class,value) • Class: int 指示单词的类别; • Value: string(or: struct,union,…)用于表示单词的值; • 为便于阅读,常用助记符(或常量标识符、宏定义等)表 示class。 • 单词的分类方法:可一词一类(+、-、begin、end等)或 多词一类(如关键字类、操作符类、分隔符类、变量名类、 常数类等)。 • 在识别出变量名、函数(过程)名时,还应进行查填符号 表的工作

3.1.3识别标识符的若干约定和策略 ·一般来说,单词的长度是有限制的 。 在允许长度下,应按最长匹配原则进行识别 ·有时需要超前扫描来进行单词识别。例如,FORTRAN语言 中的算术条件句)=L1,L2,L3和语句函数定义句)=1) 中的亚的识别;以及等。 ·在进行超前扫描时,还应注意“回退”字符,即将多吃掉 的字符退还回输入缓冲区。 书中P46程序31给出了使用堆栈实现多字符回退的算法。 算法介绍从略
3.1.3 识别标识符的若干约定和策略 • 一般来说,单词的长度是有限制的 • 在允许长度下,应按最长匹配原则进行识别 • 有时需要超前扫描来进行单词识别。例如,FORTRAN语言 中的算术条件句 IF(e)=L1,L2,L3和语句函数定义句 IF(x)=f(x) 中的IF的识别;以及等。 • 在进行超前扫描时,还应注意“回退”字符,即将多吃掉 的字符退还回输入缓冲区。 • 书中 P46程序3-1给出了使用堆栈实现多字符回退的算法。 算法介绍从略

3.1.4源程序的输入及预处理 ·本节略
3.1.4 源程序的输入及预处理 • 本节略
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第2章 前后文无关文法和语言(2.3-2.5).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第2章 前后文无关文法和语言(2.1-2.2).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第1章 绪论(主讲:康慕宁).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)语法分析程序的自动生成工具YACC简介.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)编译原理知识点回顾(主讲:林奕).ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第四章 文法和语言.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第十章 目标程序运行时的组织.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)RUN-Time Organization.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第十二章 代码生成.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第十一章 代码优化.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第八章 语法制导翻译和中间代码生成.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第五章 LL(1)文法及其分析程序.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第二章 PL/0编译程序.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第九章 符号表.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第三章 词法分析.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第一章 概述.ppt
- 清华大学:《编译原理》课程教学资源(PPT课件)第六章 LR分析程序及其自动构造.ppt
- 兰州大学:《编译原理》课程电子(PPT教学课件)第一讲 引论 CompilerPrinciples.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)编译原理课程设计指南.ppt
- 计算机科学丛书:《编译原理》书籍PDF电子版(美)Alfred V.Aho Monica s.Lam Ravi Sethi Jeffrey D.Ullman,机械工业出版社,中文第二版,共12章.pdf
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第3章 词法分析及词法分析程序(3.2)正规文法和状态转换图.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第3章 词法分析及词法分析程序(3.3.1-3.3.4).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第3章 词法分析及词法分析程序(3.3.5)具有ε动作的NFA的确定化.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第3章 词法分析及词法分析程序(3.4)正规表达式与正规集.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第4章 语法分析和语法分析程序(4.1)自顶向下的语法分析.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第4章 语法分析和语法分析程序(4.2-4.2.3).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第4章 语法分析和语法分析程序(4.2.4)LR分析法.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.1-5.2).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.3)常见中间语言简介.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.4-5.5).ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.6)程序流控制语句的翻译.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.7)含数组元素的算术表达式及赋值语句的翻译.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.8)过程说明和过程调用的翻译.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第5章 语法制导翻译及中间代码生成(5.9)说明语句的翻译.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第6章 符号表.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第7章 运行时的存储组织与分配.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)第8章 代码优化.ppt
- 西北工业大学:《编译原理》课程教学资源(PPT课件)编译原理总结.ppt
- 《编译原理》课程书籍文献(编译原理及实践)第1章 概论.pdf
- 《编译原理》课程书籍文献(编译原理及实践)第2章 词法分析.pdf