大侠素材铺

Size: px
Start display at page:

Download "大侠素材铺"

Transcription

1 编译原理与技术 中间代码生成 Ⅰ 计算机科学与技术学院 李诚 12/11/2018

2 关于课程实验 目标 : 为 PL0 语言实现一个简单的编译器 Project 1: 词法分析 Project 2: 语法分析 Project 3: 语法错误处理 + 对前两个 project 的扩展, release,11.30 提交 Project 4: 代码生成,12.1 release,12.15 提交 项目结束后, 需要进行答辩, 每一组准备 ppt, 每一名同学都要汇报 自己做了什么 学到了什么 对课程和实验的意见与建议 2018/11/12 Compiler, USTC,

3 通知 期中考试的成绩在本周之内公布 由于老师出差, 周四的课取消, 后面补回来 周四的上机课正常进行, 助教会发布新的项目内容, 并对之前项目的完成情况进行说明, 请大家尽量都去 2018/11/12 Compiler, USTC,

4 主要内容 记号流 分析器 语法树 静态检查器 语法树 中间代码生成器 中间代码 代码生成器 符号表 中间语言 (Intermediate Representation) 后缀表达式 图表示 三地址码 静态单赋值 中间代码生成 声明语句 ( 更新符号表 ) 表达式 赋值语句 ( 产生临时变量 查询符号表 ) 布尔表达式 控制流语句 ( 标号 / 回填 短路计算 ) 2018/11/12 Compiler, USTC,

5 主要内容 记号流 分析器 语法树 静态检查器 语法树 中间代码生成器 中间代码 代码生成器 符号表 中间语言 (Intermediate Representation) 后缀表达式 图表示 三地址码 静态单赋值 中间代码生成 声明语句 ( 更新符号表 ) 表达式 赋值语句 ( 产生临时变量 查询符号表 ) 布尔表达式 控制流语句 ( 标号 / 回填 短路计算 ) 2018/11/12 Compiler, USTC,

6 为什么需要中间语言? 实践过程中, 推陈出新的语言 不断涌现的指令集 开发成本之间的权衡 2018/11/12 Compiler, USTC,

7 后缀表示 uop 是一元运算符 E E ope uope (E) id num 表达式 E id num E 1 op E 2 uope (E) 后缀式 E id num E 1 E 2 op E uop E 2018/11/12 Compiler, USTC,

8 后缀表示 后缀表示不需要括号 (8 5) + 2 的后缀表示是 后缀表示的最大优点是便于计算机处理表达式 计算栈输入串 /11/12 Compiler, USTC,

9 后缀表示 后缀表示不需要括号 (8 5) + 2 的后缀表示是 后缀表示的最大优点是便于计算机处理表达式 后缀表示的表达能力 可以拓广到表示赋值语句和控制语句 但很难用栈来描述控制语句的计算 2018/11/12 Compiler, USTC,

10 图形表示 语法树是一种图形化的中间表示 assign a + + uminus c d c d b (a) 语法树 a = ( b + c d) + c d 的图形表示 2018/11/12 Compiler, USTC,

11 图形表示 语法树是一种图形化的中间表示 assign a + + uminus c d c d b (a) 语法树 c*d 是公共子表达式 a = ( b + c d) + c d 的图形表示 2018/11/12 Compiler, USTC,

12 图形表示 语法树是一种图形化的中间表示 有向无环图 (Directed Acyclic Graph, DAG) 也 是一种中间表示 assign a + + uminus c d c d b (a) 语法树 DAG 中的一个结点 N 可能有多个父结点 assign a + + uminus c d b (b) DAG a = ( b + c d) + c d 的图形表示 2018/11/12 Compiler, USTC,

13 图形表示 构造赋值语句语法树的语法制导定义 ( 第四章内容 ) 修改构造结点的函数可生成有向无环图 产生式 S id =E E E 1 +E 2 E E 1 E 2 E E 1 E (E 1 ) F id 语义规则 S.nptr = mknode( assign, mkleaf (id, id.entry), E.nptr) E.nptr = mknode( +, E 1.nptr, E 2.nptr) E.nptr = mknode(, E 1.nptr, E 2.nptr) E.nptr = mkunode( uminus, E 1.nptr) E.nptr = E 1.nptr E.nptr = mkleaf (id, id.entry) 2018/11/12 Compiler, USTC,

14 三地址代码 三地址代码 (three-address code) 一般形式 :x = y op z 最多一个算符 最多三个计算分量 每一个分量代表一个地址, 因此三地址 例表达式 x + y z 翻译成的三地址语句序列 t 1 = y z t 2 = x + t /11/12 Compiler, USTC,

15 三地址代码 三地址代码是语法树或 DAG 的一种线性表示 例 a = ( b + c d ) + c d 语法树的代码 t 1 = b t 2 = c d t 3 = t 1 + t 2 t 4 = c d t 5 = t 3 + t 4 a = t 5 uminus 2018/11/12 Compiler, USTC,

16 三地址代码 三地址代码是语法树或 DAG 的一种线性表示 例 a = ( b + c d ) + c d 语法树的代码 DAG 的代码 t 1 = b t 1 = b t 2 = c d t 2 = c d t 3 = t 1 + t 2 t 3 = t 1 + t 2 t 4 = c d t 4 = t 3 + t 2 t 5 = t 3 + t 4 a = t 4 a = t 5 + uminus c b assign a + d 2018/11/12 Compiler, USTC,

17 三地址代码 常用的三地址语句 赋值语句 x = y op z, x = op y, x = y 无条件转移 goto L 条件转移 if x relop y goto L 过程调用 param x 和 call p, n 过程返回 return y 索引赋值 x = y[i] 和 x[i] = y 地址和指针赋值 x = &y,x = y 和 x = y 2018/11/12 Compiler, USTC,

18 三地址代码的实现方式 三地址代码只说明了指令的组成部分, 为描述其在编译器中的具体数据结构实现 常见的实现方式有三种 : 四元式 : (op, arg1, arg2, result) 三元式 : (op, arg1, arg2) 间接三元式 : ( 三元式的指针表 ) 2018/11/12 Compiler, USTC,

19 三地址代码的实现方式 四元式 (Quadruple) 例 :a = b * c + b * c 缺点 : 临时变量太多, 增加时间和空间成本 2018/11/12 Compiler, USTC,

20 三地址代码的实现方式 三元式 (Triple) 例 :a = b * c + b * c 缺点 : 隐式的临时变量, 代码位置调整会造成引用该位置的代码也要修改 2018/11/12 Compiler, USTC,

21 三地址代码的实现方式 间接三元式 (Indirect triple) 例 :a = b * c + b * c 指令序列可以任意调整顺序 优势 : 比四元式空间开销小, 比三元式更灵活 2018/11/12 Compiler, USTC,

22 三地址代码的实现方式总结 四元式 按编号次序计算 计算结果存于 result 方便移动, 计算次序容易调整 大量引入临时变量 三元式 按编号次序计算 由编号代表 不方便移动 在代码生成时进行临时变量的分配 间接 三元式 按编号次序计算 方便移动, 计算次序容易调整 在代码生成时进行临时变量的分配 2018/11/12 Compiler, USTC,

23 静态单赋值形式 一种便于某些代码优化的中间表示 和三地址代码的主要区别 所有赋值指令都是对不同名字的变量的赋值 三地址代码 静态单赋值形式 p = a +b p 1 = a +b q = p c q 1 = p 1 c p = q d p 2 = q 1 d p = e p p 3 = e p 2 q = p + q q 2 = p 3 + q /11/12 Compiler, USTC,

24 静态单赋值形式 一种便于某些代码优化的中间表示 和三地址代码的主要区别 所有赋值指令都是对不同名字的变量的赋值 一个变量在不同路径上都定值的解决办法 if (flag) x = 1; else x = 1; y = x a; 改成 if (flag) x 1 = 1; else x 2 = 1; x 3 = (x 1, x 2 ); // 由 flag 的值决定用 x 1 还是 x /11/12 Compiler, USTC,

25 主要内容 记号流 分析器 语法树 静态检查器 语法树 中间代码生成器 中间代码 代码生成器 符号表 中间语言 (Intermediate Representation) 后缀表达式 图表示 三地址码 静态单赋值 中间代码生成 声明语句 ( 更新符号表 ) 表达式 赋值语句 ( 产生临时变量 查询符号表 ) 布尔表达式 控制流语句 ( 标号 / 回填 短路计算 ) 2018/11/12 Compiler, USTC,

26 中间代码生成的关键问题 类型与符号表的变化 多样化类型 => 整型 ( 字节 字 ) 浮点型 类型符号表 1 个某类型的数据 => m 个字节 (m 为类型对应的字宽 ) 语句的翻译 声明语句 : 不生成指令, 但会更新符号表 ( 作用域, 字宽及存放的相对地址 ) 赋值语句 : 引入临时变量 数组 / 记录元素的地址计算 类型转换 控制流语句 : 跳转目标的确定 ( 引入标号或使用回填技术 ) 短路计算 2018/11/12 Compiler, USTC,

27 符号表的设计 类型检查后的符号表 符号表条目 :( 标识符 存储类别 类型信息 ) 存储类别 :extern, static, register, 类型信息 :( 类别标识, 该类别关联的其他信息 ) 如数组 (Array,(len, elemtype)) 本章符号表的变化 作用域 => 多个符号表 变量 : 字宽 存储的相对地址 ( 以字节为单位 ) 记录类型 : 用符号表管理各个成员的字宽 相对地址 2018/11/12 Compiler, USTC,

28 声明语句的翻译 一般不产生代码 ; 仅将有关变量的属性填入符号表 ( 如类型 存储偏移位置 -offset) 例 : 文法 G 1 如下 : P D D D ; D D id : T T int real array [ number ] of T 1 T /11/13 编译原理与技术 讲义 28

29 声明语句的翻译 - 有关符号的属性 T.type - 变量所具有的类型, 如整型 INT 实型 REAL 数组类型 array( 元素个数, 元素类型 ) 指针类型 pointer( 所指对象类型 ) T.width - 该类型数据所占的字节数 offset - 变量的存储偏移地址 2018/11/13 编译原理与技术 讲义 29

30 声明语句的翻译 T.type T.width 整型 INT 4 实型 REAL 4 数组 array(number, T 1 ) number.val * T 1.width 指针 pointer(t 1 ) 4 enter(name,type,offset)- 将类型 type 和偏移 offset 填入符号表中 name 所在的表项 2018/11/13 编译原理与技术 讲义 30

31 声明语句的翻译 (1)P M D (2)D D 1 ; D 2 (3)D id : T { // 填入变量的相关属性 enter( id.name, T.type, offset) // 计算下一可用偏移位置 offset = offset + T.width } (4)M { offset := 0 // 偏移初始为 0} 2018/11/13 编译原理与技术 讲义 31

32 声明语句的翻译 (5)T int { T.type := INT; T.width := 4 } (6)T real { T.type := REAL; T.width := 4 } (7)T array [ number ] of T 1 { T.type := array( number.val, T 1.type); T.width := number.val * T 1.width } (8)T pointer( T 1 ) { T.type := pointer( T 1.type) ; T.width := 4 } 2018/11/13 编译原理与技术 讲义 32

33 编译原理与技术 中间代码生成 Ⅰ TBA

Microsoft PowerPoint - ch7.ppt [兼容模式]

Microsoft PowerPoint - ch7.ppt [兼容模式] 第七章 中间代码生成 静态中间代码记号分析检查代码中间生成流器器生成代码器器本章内容 介绍几种常用的中间表示 (intermediate representation): 后缀表示 图形表示和三地址代码 用语法制导定义和翻译方案来说明源语言的各种 用语法制导定义和翻译方案来说明源语言的各种构造怎样被翻译成中间形式 7.1.1 后缀表示 7.1 中间语言 E E ope uope (E) id num

More information

Microsoft PowerPoint - ch6 [Compatibility Mode]

Microsoft PowerPoint - ch6 [Compatibility Mode] 第 6 章 中间代码生成 记号流 分析器 本章内容 静态检查器 中间代码生成器 中间代码 代码生成器 介绍几种常用的中间表示 : 后缀表示 图形表示和三地址代码 用语法制导定义和翻译方案来说明源语言的各种构造怎样被翻译成中间形式 6.1.1 后缀表示表达式 E 的后缀表示可以如下归纳定义 如果 E 是变量或常数, 那么 E 的后缀表示就是 E 本身 如果 E 是形式为 E 1 ope 2 的表达式,

More information

Microsoft PowerPoint - ch7 [Compatibility Mode]

Microsoft PowerPoint - ch7 [Compatibility Mode] 记号流 第七章 分析器 静态检查器 中间代码生成 中间代码生成器 中间代码 代码生成器 本章内容 介绍几种常用的中间表示 (intermediate representation): 后缀表示 图形表示和三地址代码 用语法制导定义和翻译方案来说明源语言的各种构造怎样被翻译成中间形式 7.1.1 后缀表示 E E ope uope (E) id num 表达式 E 的后缀表示可以如下归纳定义 : 表达式

More information

Microsoft PowerPoint - ir

Microsoft PowerPoint - ir 中间语言与中间代码生成 张昱 编译原理和技术 0551-63603804,yuzhang@ustc.edu.cn 中国科学技术大学计算机科学与技术学院 记号流 本章内容 分析器 语法树 静态检查器 语法树 中间中间代码代码生成器 代码生成器 符号表本章内容 中间语言 : 常用的中间表示 (Intermediate Representation) 后缀表示 图表示 三地址代码 LLVM IR 基本块和控制流图

More information

编译原理与技术

编译原理与技术 编译原理与技术 中间代码生成 2015/11/7 编译原理与技术 讲义 1 中间代码生成 - 布尔表达式翻译 - 控制流语句翻译 2015/11/7 编译原理与技术 讲义 2 布尔表达式的翻译 布尔表达式文法 G 4 E E 1 or E 2 E 1 and E 2 not E 1 ( E 1 ) id 1 relop id 2 true false id 3 布尔运算符 or and 和 not(

More information

大侠素材铺

大侠素材铺 编译原理与技术 语法制导翻译 Ⅱ 计算机科学与技术学院 李诚 22/10/2018 Announcement Tutorial on Thursday (25/10/2018) 3B201, Class time Assignment review Q & A Cheng @ Compiler Fall 2018, USTC 2 主要内容 源程序 词法分析器 token 语法分析器 分析树 语义分析

More information

词 法 分 析

词 法 分 析 中间语言与中间代码生成 编译原理和技术 张昱 0551-63603804,yuzhang@ustc.edu.cn 中国科学技术大学计算机科学与技术学院 本章内容 记号流 分析器 语法树 静态检查器 语法树 中间代码生成器 中间代码 代码生成器 本章内容 中间语言 : 常用的中间表示 (Intermediate Representation) 后缀表示 图表示 三地址代码 LLVM IR 基本块和控制流图

More information

PowerPoint Presentation

PowerPoint Presentation 第六章中间代码生成 许畅 南京大学计算机系 2018 年春季 本章内容 中间代码表示 表达式的有向无环图 DAG 三地址代码 :x = y op z 类型检查 类型 类型检查 表达式的翻译 中间代码生成 控制流 回填 2 编译器前端的逻辑结构 前端是对源语言进行分析并产生中间表示 处理与源语言相关的细节, 与目标机器无关 前端后端分开的好处 : 不同的源语言 不同的机器可以得到不同的编译器组合 3

More information

大侠素材铺

大侠素材铺 编译原理与技术 词法分析 Ⅱ 计算机科学与技术学院李诚 13/09/2018 主要内容 记号 (token) 源程序 词法分析器 getnexttoken 语法分析器 符号表 词法分析器的自动生成 正则表达式 NFA DFA 化简的 DFA 词法分析器的生成器 Lex: flex jflex Fst lexicl nlyzer genertor 2/51 Regulr Expr to NFA 正则表达式

More information

Microsoft PowerPoint - 6 Intermediate-Code Generation.pptx

Microsoft PowerPoint - 6 Intermediate-Code Generation.pptx 第六章中间代码生成 陈林 本章内容 中间代码表示 抽象语法树 三地址代码 中间代码生成 表达式 类型检查 控制流 编译器前端的逻辑结构 静态类型检查和中间代码生成的过程都可以用语法制导的翻译来描述和实现 对于抽象语法树这种中间表示的生成, 第五章已经介绍过 表达式的有向无环图 语法树中, 公共子表达式每出现一次, 就有一个对应的子树 表达式的有向无环图 (Directed Acyclic Graph,DAG)

More information

内容提要 1 语法制导翻译语法制导定义 S 属性定义的自下而上计算 L 属性定义的自上而下计算 L 属性定义的自下而上计算 2 中间代码生成中间语言声明语句赋值语句布尔表达式和控制流语句

内容提要 1 语法制导翻译语法制导定义 S 属性定义的自下而上计算 L 属性定义的自上而下计算 L 属性定义的自下而上计算 2 中间代码生成中间语言声明语句赋值语句布尔表达式和控制流语句 编译原理 第七章语法制导翻译及中间代码生成 方徽星 扬州大学信息工程学院 (505) fnghuixing@yzueducn 2018 年 6 月 内容提要 1 语法制导翻译语法制导定义 S 属性定义的自下而上计算 L 属性定义的自上而下计算 L 属性定义的自下而上计算 2 中间代码生成中间语言声明语句赋值语句布尔表达式和控制流语句 11 语法制导定义 (Syntx-Directed Definition)

More information

再版前言

再版前言 第七章中间代码生成 在第一章已经介绍, 编译器的前端把源程序翻译成中间表示, 后端从中间代码产生目标代码, 与目标语言有关的细节尽可能限制在后端 使用独立于机器的中间形式的好处是 : 1. 再目标 (retargeting) 比较容易 把针对新机器的后端加到现成的前端上, 可以得到另一种机器的编译器 2. 独立于机器的代码优化器可用于这种中间表示 第九章将介绍这种代码优化 因此, 虽然可以把源程序直接翻译并生成目标代码,

More information

编译原理 Compiler Principles 第六章中间代码生成 湖南大学信息科学与工程学院 软件工程系杨金民 2018

编译原理 Compiler Principles 第六章中间代码生成 湖南大学信息科学与工程学院 软件工程系杨金民 2018 编译原理 Compiler Principles 第六章中间代码生成 湖南大学信息科学与工程学院 软件工程系杨金民 2018 什么叫语法制导的翻译 求表达式的值 id 1 + id 2 *id 3 4 + 3 * 5 文法 :E E + E E * E id E 5 E 1 + E 4 id 1 E 2 * E 3 id 2 id 3 四者的语义相同 对于计算机执行的指令流 : E 1 = id 1

More information

Microsoft PowerPoint - ch4.ppt [兼容模式]

Microsoft PowerPoint - ch4.ppt [兼容模式] 第四章 语法制导的翻译 本章内容 1 介绍语义描述的一种形式方法: 语法制导的翻译 (syntax-directed translation), 它包括两种具体形式 语法制导的定义 (syntax-directed definition) E E 1 + T E.code = E 1.code T.code + 可读性好, 更适于描述规范 翻译方案 (translation scheme) E E

More information

编译原理原理与技术

编译原理原理与技术 编译原理与技术 语法制导翻译 2015/10/12 编译原理与技术 讲义 1 属性文法 语法制导翻译 S- 属性定义 L- 属性定义 语法制导定义与翻译方案 自底向上翻译 S- 属性定义自底向上计算 自底向上计算继承属性 自顶向下翻译 2015/10/12 编译原理与技术 讲义 2 属性文法 属性文法 (Attributed Grammar) 上下文无关文法 + 属性 + 属性计算规则 属性 - 用来描述文法符号的语义特征,

More information

修改图 7.5 中计算声明名字的类型和相对地址的翻译方案, 允许名字表而不是单个名字出现在形式为 D id : T 的声明中 即允许 a, b, c : integer 这种形式的变量声明 下面是一个 C 语言程序 : long f1( i

修改图 7.5 中计算声明名字的类型和相对地址的翻译方案, 允许名字表而不是单个名字出现在形式为 D id : T 的声明中 即允许 a, b, c : integer 这种形式的变量声明 下面是一个 C 语言程序 : long f1( i 2013.12.8 7.4 修改图 7.5 中计算声明名字的类型和相对地址的翻译方案, 允许名字表而不是单个名字出现在形式为 D id : T 的声明中 即允许 a, b, c : integer 这种形式的变量声明 2013.12.1 6.12 下面是一个 C 语言程序 : long f1( i ) long i; { return(i 10); long f2(long i) { return(i

More information

(Microsoft Word - 1_\252\354\244p\257S\300u_\254\374\304R\252\272\254K\244\321.doc)

(Microsoft Word - 1_\252\354\244p\257S\300u_\254\374\304R\252\272\254K\244\321.doc) 一 教 案 作 品 名 稱 美 麗 的 春 天 參 賽 組 別 初 小 組 適 用 年 級 一 年 級 教 學 總 節 數 3 節 A-1-5-4-1 能 應 用 注 音 符 號, 輔 助 表 達 自 己 的 經 驗 和 想 法 A-1-6 能 應 用 注 音 符 號, 擴 充 語 文 學 習 的 空 間, 增 進 語 文 學 習 興 趣 B-1-1-2-1 能 自 然 安 靜 的 聆 聽 B-1-2-4-3

More information

.size main,.lfe1-main.local b.comm b,4,4.comm c,4,4.ident "GCC: (GNU) egcs /Linux (egcs release)" 修改图 6.5 中计算声明名字

.size main,.lfe1-main.local b.comm b,4,4.comm c,4,4.ident GCC: (GNU) egcs /Linux (egcs release) 修改图 6.5 中计算声明名字 实验 : 1 阅读并理解 PL/0 语言前端编译器中的词法分析器, 扩展 PL/0 语言及其编译器, 以增加对上述多行注释的支持 2 [11 月 8 日开始检查 ] 参考 flex-examples, 将 PL/0 编译器中的词法分析部分的实现改造成两种构造方式 : 手工构造 ( 即使用原先在 pl0.c 中定义的 getch 和 getsym 函数 ) 用 flex 自动生成词法分析程序 ( 即编写描述

More information

Microsoft PowerPoint - L12-v3.pptx

Microsoft PowerPoint - L12-v3.pptx Lecture 12: 中间代码生成 -II Xiaoyuan Xie 谢晓园 xxie@whu.edu.cn 计算机学院 E301 控制流翻译 控制流语句的翻译 文法 B表示布尔表达式 S代表语句 S if (B) S1 S if (B) S1 else S2 S while (B) S1 代码的布局见右图 继承属性 B.true B为真的跳转目标 B.false B为假的跳转目标 S.next

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

Microsoft PowerPoint - syntaxdirect

Microsoft PowerPoint - syntaxdirect 本章内容 语法制导的翻译 编译原理和技术 张昱 055-63603804,yuzhang@ustc.edu.cn 中国科学技术大学计算机科学与技术学院 语义描述的一种形式方法 语法制导的定义 (syntax-directed definition) + E.code = E.code.code + 可读性好, 更适于描述规范 翻译方案 (translation scheme) + { pr + 陈述了实现细节

More information

Microsoft PowerPoint - L9-v3.pptx

Microsoft PowerPoint - L9-v3.pptx Lecture 9: 语法制导的翻译 -I Xiaoyuan Xie 谢晓园 xxie@whu.edu.cn 计算机学院 E301 Introduction 9.1 概述 语义分析在编译程序中的作用 词法分析 目标代码生成 语法分析 中间代码优化 语义分析 分析 中间代码生成 合成 语法和语义的区别 语法 是描述一个合法定义的程序结构的规则 例如 id( ) 语义 说明一个合法定义的程序的含义

More information

Microsoft PowerPoint - typecheck

Microsoft PowerPoint - typecheck 本章内容 类型检查 编译原理和技术 张昱 0551-63603804,yuzhang@ustc.edu.cn 中国科学技术大学计算机科学与技术学院 记号流 语法分析器 语法树语法树类型中间代码中间检查器生成器表示 符号表 语义检查中最典型的部分 类型检查 类型系统 类型检查 符号表的作用 多态函数 重载 其他的静态检查 ( 不详细介绍 ) 控制流检查 唯一性检查 关联名字检查 张昱 : 编译原理和技术

More information

Microsoft PowerPoint - ch1.ppt [兼容模式]

Microsoft PowerPoint - ch1.ppt [兼容模式] 编译原理和技术 中国科学技术大学计算机科学与技术学院张昱 0551-3603804 yuzhang@ustc.edu.cn 致谢 本系列讲稿是在陈意云教授撰写的 编译原理和技术 讲稿之上完成, 特此感谢陈老师! 课程简介 课程内容 介绍编译器构造的一般原理和基本实现方法 包括的理论知识 : 形式语言和自动机理论 语法制导的定义和属性文法 类型论与类型系统 程序分析原理, 等等 强调形式描述技术和自动生成技术

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

大侠素材铺

大侠素材铺 编译原理与技术 导论 计算机科学与技术学院 李诚 03/09/2018 主要内容 课程设置情况 编译器的由来与挑战 编译器的构造 2/45 课程设置 时间 : 每周一 (6,7) 四 (3,4) 地点 :3B201 课程主页 ( 课件 试题等 ): http://staff.ustc.edu.cn/~chengli7/courses/co mpiler18/ 邮件列表 : 我们会自动将大家的邮箱加入

More information

编译技术 Compiler Principles 课程总结 湖南大学信息科学与工程学院软件工程系杨金民 2019/06

编译技术 Compiler Principles 课程总结 湖南大学信息科学与工程学院软件工程系杨金民 2019/06 编译技术 Compiler Principles 课程总结 湖南大学信息科学与工程学院软件工程系杨金民 2019/06 软件工程技术知识体系 机器学习 / 神经网络 (AI) 不确定性 ( 概率 ) 编译技术 灵活多变, 但有基因 数据库技术 基础技术 联线 : 直观易懂 联系 组合, 摘取分布式系统面向对象编程计算机网络操作系统数据结构 2 灵活多变 : 计算器该如何编程实现? a + b a +

More information

<4D F736F F F696E74202D20B5DA31D5C220D2FDC2DB2E BD6BBB6C15D205BBCE6C8DDC4A3CABD5D>

<4D F736F F F696E74202D20B5DA31D5C220D2FDC2DB2E BD6BBB6C15D205BBCE6C8DDC4A3CABD5D> 编译原理与技术 中国科学技术大学 计算机科学与技术学院 张昱 陈意云 0551-3603804, 3607043 yuzhang, yiyun@ustc.edu.cn cn 课程简介 课程内容 介绍编译器构造的一般原理和基本实现方法 包括的理论知识 : 形式语言和自动机理论 语法制导的定义等 课程特点 强调对编译原理和技术的宏观理解, 不把注意力引导到理论和一些枝节算法上 不偏向于任何源语言或目标机器

More information

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生 共 青 团 工 作 简 报 2011 年 第 1 期 共 青 团 大 连 海 洋 大 学 委 员 会 团 学 要 闻 : 导 读 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 我 校 在 大 连 市 大 学 生 创 新 创 意 作 品 大 赛 中 取 得 佳 绩 校 团 委 召 开 学 生 干 部 思 想 动 态 座 谈 会 校 团 委 组 织 开 展 弘 扬 雷 锋

More information

PowerPoint Presentation

PowerPoint Presentation 引论 编译原理和技术 张昱 0551-63603804,yuzhang@ustc.edu.cn 中国科学技术大学计算机科学与技术学院 主要内容 1 2 编程语言及设计 编译器及形式 3 编译器的阶段 4 示例 : 程序的表示 5 基础实验的考虑 张昱 : 编译原理和技术 引论 2 主要内容 1 2 编程语言及设计 编译器及形式 3 编译器的阶段 4 示例 : 程序的表示 5 基础实验的考虑 张昱 :

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

任 务 单 一 ~2: 文 具 书 本 摆 整 齐, 争 得 自 理 星 争 星 要 求 : 文 具 用 品 摆 放 好, 书 本 叠 叠 放 整 齐 探 秘 任 务 一 ~2: 文 具 书 本 摆 整 齐, 争 得 自 理 星 任 务 1: 跟 小 辅 导 员 一 起 参 观 高 年 级 的 教

任 务 单 一 ~2: 文 具 书 本 摆 整 齐, 争 得 自 理 星 争 星 要 求 : 文 具 用 品 摆 放 好, 书 本 叠 叠 放 整 齐 探 秘 任 务 一 ~2: 文 具 书 本 摆 整 齐, 争 得 自 理 星 任 务 1: 跟 小 辅 导 员 一 起 参 观 高 年 级 的 教 少 先 队 活 动 课 儿 童 团 团 前 教 育 之 一 苗 苗 章 启 动 课 学 校 : 闵 行 区 实 验 小 学 ( 景 城 校 区 ) 年 级 : 一 年 级 辅 导 员 : 胡 波 活 动 目 标 1 通 过 完 成 校 园 探 秘 行 动 一 级 任 务, 在 做 一 做 玩 一 玩 的 游 戏 闯 关 过 程 中 获 得 青 松 星 动 手 星 爱 心 星 五 宝 星 2 通 过

More information

???h?????????W??????

???h?????????W?????? 主 題 : 愛 是 什 麼 樣 子 ㄧ 教 學 主 題 : 愛 是 什 麼 樣 子 設 計 緣 起 : 我 目 前 任 教 於 國 小 ㄧ 年 級, 班 上 有 ㄧ 位 多 重 障 礙 的 學 生, 同 儕 因 老 師 的 鼓 勵 與 指 導, 表 面 上 都 能 接 納 身 障 生, 但 因 該 名 身 障 生 表 達 友 誼 的 方 式 不 太 對, 常 會 故 意 把 口 水 滴 到 同 學

More information

党 政 投 资 基 金 落 户 上 城 区 曰 全 年 新 批 外 商 投 资 项 目 30 个 袁 实 际 利 用 外 资 12737 万 美 元 曰 引 进 市 外 内 资 项 目 598 个 袁 实 际 到 位 资 金 113.9 亿 元 曰 推 进 区 市 协 作 工 程 袁 出 台 实 施

党 政 投 资 基 金 落 户 上 城 区 曰 全 年 新 批 外 商 投 资 项 目 30 个 袁 实 际 利 用 外 资 12737 万 美 元 曰 引 进 市 外 内 资 项 目 598 个 袁 实 际 到 位 资 金 113.9 亿 元 曰 推 进 区 市 协 作 工 程 袁 出 台 实 施 党 政 中 共 上 城 区 委 揖 区 委 工 作 概 况 铱 2010 年 袁 中 共 上 城 区 委 坚 持 以 科 学 发 展 观 为 指 导 袁 紧 紧 围 绕 建 设 野 具 有 国 际 水 准 的 高 品 质 中 心 城 区 冶 战 略 目 标 袁 主 动 适 应 后 金 融 危 机 时 期 转 型 发 展 尧 统 筹 发 展 的 趋 势 特 点 袁 积 极 对 接 省 尧 市 发 展

More information

社 工 系 师 生 继 续 服 务 金 竹 林 儿 童 之 家.7 专 业 技 能 训 练 动 员 大 会..7 顶 岗 实 习 动 员 会..9 2013 级 本 科 班 专 业 技 能 训 练...9 保 山 学 院 盈 江 青 爱 小 屋 支 教 行..10 2014 级 政 本 班 德 育

社 工 系 师 生 继 续 服 务 金 竹 林 儿 童 之 家.7 专 业 技 能 训 练 动 员 大 会..7 顶 岗 实 习 动 员 会..9 2013 级 本 科 班 专 业 技 能 训 练...9 保 山 学 院 盈 江 青 爱 小 屋 支 教 行..10 2014 级 政 本 班 德 育 保 山 学 院 就 业 创 业 工 作 简 报 第 二 期 保 山 学 院 招 生 就 业 处 主 办 目 录 人 文 学 院 2016 年 1 月 考 研 复 习 交 流 会.........1 就 业 指 导 专 题 讲 座..........1 面 试 礼 仪 讲 座.........2 就 业 创 业 知 识 讲 座.........3 2014 级 历 史 学 班 前 往 板 桥 镇 开

More information

簡 述 所 有 參 與 教 案 編 寫 人 員 之 學 經 歷 及 負 責 內 容 參 與 教 案 編 寫 人 員 魏 俊 陽 學 歷 經 歷 負 責 內 容 國 立 臺 灣 師 範 新 北 市 閩 南 語 教 案 編 寫 大 學 課 程 與 教 輔 導 團 教 學 者 學 研 究 所 博 士 新

簡 述 所 有 參 與 教 案 編 寫 人 員 之 學 經 歷 及 負 責 內 容 參 與 教 案 編 寫 人 員 魏 俊 陽 學 歷 經 歷 負 責 內 容 國 立 臺 灣 師 範 新 北 市 閩 南 語 教 案 編 寫 大 學 課 程 與 教 輔 導 團 教 學 者 學 研 究 所 博 士 新 教 育 部 顧 問 室 符 合 大 腦 功 能 教 學 的 進 階 師 資 人 才 培 訓 計 畫 第 一 屆 符 合 大 腦 功 能 教 學 教 案 甄 選 辦 法 教 案 資 料 表 領 域 方 向 國 小 : 語 文 類 數 學 類 健 康 自 然 與 生 活 科 技 類 國 中 : 語 文 類 數 學 類 健 康 自 然 與 生 活 科 技 類 社 會 類 改 編 版 第 冊 第 課 範 圍

More information

信工学生工作简报 第四期.doc

信工学生工作简报 第四期.doc 首 都 师 范 大 学 信 息 工 程 学 院 学 生 工 作 简 报 信 工 学 院 学 生 工 作 办 公 室 2011 年 6 月 第 四 期 内 容 提 要 校 党 委 副 书 记 缪 劲 翔 到 信 工 学 院 调 研 信 工 学 院 举 办 党 史 知 识 竞 赛 纪 念 建 党 九 十 周 年 信 工 学 院 举 办 第 九 期 分 党 校 培 训 41 名 学 员 顺 利 结 业 信

More information

支撑材料4.4.doc

支撑材料4.4.doc 1. 2. ( ) 3. 4. 5. 6. 7. 8. 9. 10. 1.2.10 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. () 25. 4.3.12 26. 2.3.21 27. 1.2.22 28. ( 201465 ) ( 2010122 ) ( 201489 ) 1.

More information

教学设计方案

教学设计方案 分 会 场 名 称 : 教 学 设 计 方 案 课 程 名 称 : 人 与 动 物 单 元 主 题 阅 读 课 教 师 姓 名 : 郭 瑜 科 目 : 语 文 年 级 : 六 年 级 课 时 : 2 课 时 教 学 内 容 本 组 课 文 选 自 人 教 版 六 年 级 上 第 七 单 元 人 与 动 物 专 题, 课 内 四 篇 课 文 : 老 人 与 海 鸥 跑 进 家 来 的 松 鼠 最 后

More information

2009杭州市小学地方课程

2009杭州市小学地方课程 2013 年 杭 州 市 校 本 课 程 建 设 与 实 施 研 讨 会 暨 江 干 区 精 品 校 本 课 程 推 介 会 资 料 主 办 : 杭 州 市 普 通 教 育 研 究 室 承 办 : 江 干 区 教 育 局 协 办 : 江 干 区 教 师 进 修 学 校 杭 州 师 范 大 学 附 属 丁 兰 实 验 学 校 2013 年 5 月 目 录 1. 会 议 日 程 安 排 3 2. 课 堂

More information

课程整体教学设计指导意见

课程整体教学设计指导意见 思 想 道 德 修 养 与 法 律 基 础 课 程 整 体 教 学 设 计 一 基 本 信 息 课 程 名 称 : 思 想 道 德 修 养 与 法 律 基 础 课 程 类 型 : 公 共 必 修 课 学 时 :48 学 分 :3 先 修 课 : 无 后 续 课 : 无 二 课 程 需 求 分 析 1 课 程 性 质 与 目 标 : 思 想 道 德 修 养 与 法 律 基 础 课 程 是 学 校 各

More information

天天星期三

天天星期三 康 軒 版 二 上 第 三 單 元 第 九 課 等 待 兔 子 的 農 夫 單 元 名 稱 第 三 單 元 好 聽 的 故 事 課 名 第 九 課 等 兔 子 的 農 夫 教 材 來 源 康 軒 版 第 三 冊 二 上 教 學 時 間 六 節 設 計 者 北 一 區 幸 曼 玲 教 授 團 隊 臺 北 市 西 園 國 小 主 任 林 淑 華 臺 北 市 濱 江 國 小 教 師 廖 瑞 珍 1. 背

More information

胃癌早诊早治技术方案.doc

胃癌早诊早治技术方案.doc 2 3 4 5 6 7 40-69 2 CAG IM Dys Dys PG 3 PG 8 9 10 11 12 13 14 15 ID# 18 19 21 1 1 1 3 0 9 0 0 0 8 5 23 2 0 0 0 0 8 1 9 24 0 6 / 1 7 0 0 0 25 26 27 6.1 0 5 1 0 1 0 28 29 30 1 7 2 31 0 6 0 0 6 0 1 4 5

More information

PowerPoint Presentation

PowerPoint Presentation 结合开源软件的 编译原理教学实践探索 张昱 中国科学技术大学计算机科学与技术学院 2017 年高等院校计算机系统类课程联合研讨会 2017.8.26 恩施 中科大的编译原理课程 计算机专业分两个级别, 同时间段授课, 学生可以选择 英才班 (30+) 从 2010 级开始 54+40 加大实验强度, 基础实验 + 扩展实验, 占总分 50% 普通班 54+40 基础实验, 实验占总分 20~30%

More information

Microsoft PowerPoint - SyntaxDirectedTranslation [Compatibility Mode]

Microsoft PowerPoint - SyntaxDirectedTranslation [Compatibility Mode] Outline rror Handling Syntax-Directed Translation xtensions of CFG for parsing Precedence declarations rror handling Semantic actions Constructing a parse tree Originated from Prof. Aiken CS 14 Modified

More information

2015年计算机二级(C语言)模拟试题及答案(三)

2015年计算机二级(C语言)模拟试题及答案(三) 2016 年计算机二级 (C 语言 ) 模拟试题及答案 (3) 1.( A ) 是构成 C 语言程序的基本单位 A 函数 B 过程 C 子程序 D 子例程 2.C 语言程序从 ( C ) 开始执行 A 程序中第一条可执行语句 B 程序中第一个函数 C 程序中的 main 函数 D 包含文件中的第一个函数 3 以下说法中正确的是( C ) A C 语言程序总是从第一个定义的函数开始执行 B 在 C 语言程序中,

More information

菩提道次第廣論

菩提道次第廣論 菩 提 道 次 第 广 论 下 士 道 ( 二 ) 深 信 业 果 18 ( 分 别 业 的 轻 重 3 ) 最 尊 贵 的 净 莲 上 师 讲 解 我 们 继 续 说 明 为 什 么 业 特 别 重 大 的 原 因 第 二 个, 是 它 所 依 门, 所 依 门 的 缘 故, 依 它 所 依 的 内 容 而 有 轻 重 的 差 别 第 一 个, 它 所 依 的 是 什 么 呢? 就 是 你 是 不

More information

路 上 沒 說 話, 車 子 被 爸 離 去 後 開 走 了, 沒 什 麼 變, 除 了 一 股 淡 淡 的 香 味, 我 不 太 習 慣, 像 空 氣 中 的 粉 塵, 左 飄 右 飄, 光 中 飛 舞 我 沒 提, 看 車 窗 外, 外 面 不 太 有 趣, 我 只 是 沒 事 幹, 我 們 本

路 上 沒 說 話, 車 子 被 爸 離 去 後 開 走 了, 沒 什 麼 變, 除 了 一 股 淡 淡 的 香 味, 我 不 太 習 慣, 像 空 氣 中 的 粉 塵, 左 飄 右 飄, 光 中 飛 舞 我 沒 提, 看 車 窗 外, 外 面 不 太 有 趣, 我 只 是 沒 事 幹, 我 們 本 午 睡 中 午, 門 鈴 又 響, 我 去 開 門 門 眼 外 的 玄 關 很 暗, 燈 關 上 了, 我 看 見 一 個 男 人 站 在 門 外, 低 著 頭, 我 猜 他 在 看 信, 他 的 髮 旋 對 著 我, 沒 有 表 情 有 些 陌 生, 我 打 開 內 門, 那 個 男 人 露 出 臉, 隔 著 鐵 門 露 出 微 笑, 我 說 爸, 他 回 一 聲 我 遲 疑 著 轉 開 鎖, 打

More information

繁 華 國 小 101 學 年 母 親 節 感 恩 惜 福 - 跳 蚤 市 場 暨 科 學 闖 關 遊 戲 親 子 活 動 實 施 計 畫 一 依 據 : 本 校 101 學 年 度 校 務 計 畫 及 行 事 曆 二 目 的 : 1. 培 養 學 生 感 恩 惜 物 知 福 惜 福 的 節 儉 觀

繁 華 國 小 101 學 年 母 親 節 感 恩 惜 福 - 跳 蚤 市 場 暨 科 學 闖 關 遊 戲 親 子 活 動 實 施 計 畫 一 依 據 : 本 校 101 學 年 度 校 務 計 畫 及 行 事 曆 二 目 的 : 1. 培 養 學 生 感 恩 惜 物 知 福 惜 福 的 節 儉 觀 屏 東 縣 繁 華 國 小 慶 祝 101 學 年 度 母 親 節 活 動 實 施 計 劃 壹 依 據. 一. 本 校 101 年 度 推 廣 教 育 優 先 區 親 職 教 育 及 社 區 化 教 育 辦 理 二. 本 校 101 學 年 度 第 二 學 期 行 事 曆 計 劃 辦 理 貳 目 的. 一. 建 立 正 確 的 現 代 父 母 角 色, 發 揮 親 職 教 育 之 功 能 二. 增

More information

台 中 市 北 屯 區 東 山 里 橫 坑 9 林 志 明 0932-511633 巷 89-5 菜 豆 菜 大 漿 果 菜 豆 菜 大 漿 果 小 漿 果 核 果 柑 桔 9210065 103.2.21 107..19 210065 無 107.2.12 10 陳 錦 生 新 竹 市 香 山 區

台 中 市 北 屯 區 東 山 里 橫 坑 9 林 志 明 0932-511633 巷 89-5 菜 豆 菜 大 漿 果 菜 豆 菜 大 漿 果 小 漿 果 核 果 柑 桔 9210065 103.2.21 107..19 210065 無 107.2.12 10 陳 錦 生 新 竹 市 香 山 區 序 農 產 品 經 營 業 者 名 稱 1 劉 士 魁 2 林 東 詳 3 林 俊 堯 廖 本 源 5 林 碧 龍 10 年 驗 戶 名 冊 ( 生 產 加 工 分 裝 流 通 ) 地 址 彰 化 縣 永 靖 鄉 崙 子 村 九 分 路 192 巷 21 屏 東 縣 屏 東 市 空 翔 里 2 鄰 迪 化 一 街 67 台 中 市 太 平 區 育 誠 街 12 巷 1 屏 東 縣 屏 東 市 華 盛

More information

45 45 67 1935 10 7 1937 4 6 1943 1945 4 1952 46 47 5 5 1 5 1979 1964 1949 1954 1966 1967 1 9 48 49 1960 70 12 16 1 2 3 4 5 6 1970 1964 1966 50 51 1993 2001 1990 1993 9 25 1950 6 5 7 96 811 12 8 10 1972

More information

育儿小故事(四)

育儿小故事(四) 9998.00 (1CD, ) I...1...2...4...6...7...8...9... 11...12...14...15...16...21...23...38...44...44...50...52...70...74...79...84...89...97 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

编译原理 Compiler Principles 第六章中间代码生成 湖南大学信息科学与工程学院 软件工程系杨金民 2019

编译原理 Compiler Principles 第六章中间代码生成 湖南大学信息科学与工程学院 软件工程系杨金民 2019 编译原理 Compiler Principles 第六章中间代码生成 湖南大学信息科学与工程学院 软件工程系杨金民 2019 什么叫语法制导的翻译 (SDT) 求表达式的值 id 1 + id 2 *id 3 4 + 3 * 5 文法 :E E + E E * E id E 5 E 1 + E 4 id 1 E 2 * E 3 id 2 id 3 四者的语义相同 对于计算机执行的指令流 : E 1

More information

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

没有幻灯片标题

没有幻灯片标题 指针作为函数参数 : 原因 : 1 需要修改一个或多个值,( 用 return 语句不能解决问题 ) 2 执行效率的角度 使用方法 : 在函数原型以及函数首部中需要声明能够接受指针值的形参, 具体的写法为 : 数据类型 * 形参名 如果有多个指针型形参, 则用逗号分隔, 例如 : void swap(int *p1, int *p2) 它说明了形参 p1 p2 是指向整型变量的指针 在函数调用时,

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

More information

Microsoft PowerPoint - ch4.ppt [兼容模式]

Microsoft PowerPoint - ch4.ppt [兼容模式] 第四章语法制导的翻译 本章内容 1 介绍语义描述的一种形式方法 : 语法制导的翻译 (sytax-directed traslatio), 它包括两种具体形式 语法制导的定义 (sytax-directed defiitio) E.code = E 1.code.code 可读性好, 更适于描述规范 翻译方案 (traslatio scheme) { prit } 陈述了实现细节 ( 如语义规则的计算时机

More information

<4D F736F F D B1E0D2EBD4ADC0EDA3A8B5DA32B0E6A3A9BFB1CEF3B1ED2E646F63>

<4D F736F F D B1E0D2EBD4ADC0EDA3A8B5DA32B0E6A3A9BFB1CEF3B1ED2E646F63> 编译原理 ( 第 2 版 ) 勘误表 2008-8-31 1 第 2 页倒数第 2 行改成 : 分隔单词的空格通常在词法分析时被删去 2 第 3 页图 1.2 改成 : = = id, 1 + id, 1 + id, 2 id, 2 id, 3 60 id, 3 inttofloat (a) (b) 60 图 1.2 语义分析插入了类型转换 3 第 16 页倒数第 9 行开始的那段改成 : 上一节提到,

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

Static Enforcement of Security with Types

Static Enforcement of Security with Types 例题 1 一个 C 语言程序及其在 X86/Linux 操作系统上的编译结 果如下 根据所生成的汇编程序来解释程序中四个变 量的存储分配 生存期 作用域和置初值方式等方面 的区别 static long aa = 10; short bb = 20; func( ) { } static long cc = 30; short dd = 40; static long aa = 10; func(

More information

编译原理 Compiler Principles 第六章中间代码生成 湖南大学信息科学与工程学院 软件工程系杨金民 2019

编译原理 Compiler Principles 第六章中间代码生成 湖南大学信息科学与工程学院 软件工程系杨金民 2019 编译原理 Compiler Principles 第六章中间代码生成 湖南大学信息科学与工程学院 软件工程系杨金民 2019 什么叫语法制导的翻译 (SDT) 求表达式的值 id 1 + id 2 *id 3 4 + 3 * 5 文法 :E E + E E * E id E 5 E 1 + E 4 id 1 E 2 * E 3 id 2 id 3 四者的语义相同 对于计算机执行的指令流 : E 1

More information

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx

Microsoft PowerPoint - 8. 运算符重载 Operator Overloading.pptx 运算符重载 Operator Overloading class Point { public: ; double x_, y_; Why Operator Overloading? Point (double x =0, double y = 0):x_(x),y_(y) { int main(){ Point a(1., 2), b(3,4); Point c = a + b; return 0;

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

Microsoft PowerPoint - compiler

Microsoft PowerPoint - compiler 主要内容 编译技术回顾 程序设计语言理论 张昱 1 2 3 编译器的形式和阶段 运行时数据的组织 抽象机模型 01-63603804,yuzhang@ustc.edu.cn 中国科学技术大学计算机科学与技术学院 张昱 : 程序设计语言理论 编译技术回顾 2 编译器是什么 1. 编译器的形式和阶段 源程序 编译器 Compiler 目标程序 编译器的形式 编译器的主要阶段 目标语言 一种编程语言 CISCs(

More information

Microsoft PowerPoint - 7-Semantic&IR.ppt

Microsoft PowerPoint - 7-Semantic&IR.ppt 7.1 中间表示的概念 第七章 : 语义分析和中间代码生成 2008 年秋 抽象语法树 vs 类似目标代码 是否使用目标机和运行时环境的详细信 息 数据类型的尺寸 ; 寄存器 变量的存储位置 前端 IR 后端 是否使用符号表中的全部信息 作用域 嵌套层次 变量的偏移量 其它用处 : 用于代码分析以产生高效目标代码 用于多目标编译 (retargetable) 中间代码生成 中间代码生成位于词法分析和语法分析之后,

More information

Microsoft PowerPoint - lec11 [兼容模式]

Microsoft PowerPoint - lec11 [兼容模式] 代码生成 代码生成 代码生成的输入 - 各种中间代码形式 目标代码与目标机器模型 简单的代码生成器 基本块 DAG 图及代码生成 目标代码 绝对地址目标代码 可重定位的目标 - linker/loader 汇编代码 - assembler 目标机器模型 指令形式 op 源, 目的 寻址模式 - 绝对地址 :op M, R R op (M) R - 寄存器 :op R1,R2 R2 op R1 R2

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

ebook71-13

ebook71-13 13 I S P Internet 13. 2. 1 k p p p P P P 13. 2. 2 1 3. 2. 3 k p p p 1 3. 2. 4 l i n u x c o n f P P P 13. 2. 5 p p p s e t u p 13. 2. 6 p p p s e t u p P P P 13. 2. 7 1 3. 2. 8 C a l d e r a G U I 13.

More information

Microsoft PowerPoint - 7-Semantic_IR09.ppt

Microsoft PowerPoint - 7-Semantic_IR09.ppt 中间代码生成 第七章 : 语义分析和中间代码生成 中间代码生成位于词法分析和语法分析之后, 是代码生成中的一个阶段 ; 中间代码的形式很多, 如逆波兰记号 抽象语法树 三地址码 ( 三元式 四元式 ) P- 代码, 等等 属性文法是用于中间代码生成的常用的方法 赵银亮 本章内容 : 1. 中间表示形式 2. 说明语句的翻译 3. 简单算术表达式和赋值句到四元式的翻译 4. 布尔表达式到四元式的翻译

More information

ebook14-4

ebook14-4 4 TINY LL(1) First F o l l o w t o p - d o w n 3 3. 3 backtracking parser predictive parser recursive-descent parsing L L ( 1 ) LL(1) parsing L L ( 1 ) L L ( 1 ) 1 L 2 L 1 L L ( k ) k L L ( 1 ) F i r s

More information

实践 : 能够独立设计和开发简单语言的编译器 课程意义 : 1. 本课程能使学生对编程语言的设计和实现有深刻的理解, 对和编程语言有关的理论 ( 形式语言和自动机理论 类型论等 ) 有所了解, 对宏观上把握编程语言来说, 起一个奠基的作用 2. 对软件工程来说, 编译器是一个很好的实例 ( 基本设计

实践 : 能够独立设计和开发简单语言的编译器 课程意义 : 1. 本课程能使学生对编程语言的设计和实现有深刻的理解, 对和编程语言有关的理论 ( 形式语言和自动机理论 类型论等 ) 有所了解, 对宏观上把握编程语言来说, 起一个奠基的作用 2. 对软件工程来说, 编译器是一个很好的实例 ( 基本设计 课程名称 教学大纲 一 课程基本信息 开课单位信息学院课程代码 CS131 课程名称编译原理英文名称 Programming Languages and Compilers 学分 4 学时 64 授课对象 ( 面向专业 ) CS 双语 / 中文 / 全英文授课 双语 先修课程 CS100 二 课程简介和教学目的 课程简介 : 1. 本课程介绍编译器构造的一般原理和基本实现方法, 主要介绍编译器的各个阶段

More information

编译原理与技术

编译原理与技术 编译原理与技术 -- 文法和分析 2015/9/17 编译原理与技术 讲义 1 文法和分析 形式语言中若干基本概念 语言 文法 ( 上下文无关文法 ) 分析树与二义性 形式语言分类 乔姆斯基分类 2015/9/17 编译原理与技术 讲义 2 语言 语言 L={ s s 是 上任一字符串 }, s 称为语言 L 的一个句子 字母表 - 符号 / 字符的非空有限集合 e.g. 二进制数的 ={0,1},

More information

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret

More information

大侠素材铺

大侠素材铺 编译原理与技术 词法分析 计算机科学与技术学院李诚 06/09/2018 主要内容 记号 (token) 源程序 词法分析器 getnexttoken 语法分析器 符号表 词法分析所面临的问题 向前看 (Lookhed) 歧义 (Amiguities) 词法分析器的自动生成 词法单元的描述 : 正则式 词法单元的识别 : 转换图 有限自动机 :NFA DFA 2/51 词法分析 程序示例 : if

More information

Microsoft PowerPoint - string_kruse [兼容模式]

Microsoft PowerPoint - string_kruse [兼容模式] Strings Strings in C not encapsulated Every C-string has type char *. Hence, a C-string references an address in memory, the first of a contiguous set of bytes that store the characters making up the string.

More information

( ) 001 ( 131 ) : 1- ISBN X/I 1091 :

( ) 001 ( 131 ) : 1- ISBN X/I 1091 : ( ) 001 ( 131 ) 850 1168 32 9. 125 4 191 2001 12 1 2001 12 1 : 1- ISBN 7-224-05898-X/I 1091 :13.00 2 ,,,,,,,,,,,,,,,,,,,,?,, 3 ,,?!,,,,,,,?,,,,,,,,,,,!!!!,,,,,,,,!,,?!,,!,,, 1988 10 11 4 ,,,,,,,,,,,,,,,,,!,,,

More information

PowerPoint Presentation

PowerPoint Presentation 数据结构与算法 ( 六 ) 张铭主讲 采用教材 : 张铭, 王腾蛟, 赵海燕编写高等教育出版社,2008. 6 ( 十一五 国家级规划教材 ) http://www.jpk.pku.edu.cn/pkujpk/course/sjjg 第 6 章树 C 树的定义和基本术语 树的链式存储结构 子结点表 表示方法 静态 左孩子 / 右兄弟 表示法 动态表示法 动态 左孩子 / 右兄弟 表示法 父指针表示法及其在并查集中的应用

More information

2006..,1..,2.,.,2..,3..,3 22..,4..,4 :..,5..,5 :..,5..,6..,6..,8..,10 :..,12..,1..,6..,6..,2 1907..,5,:..,1 :..,1 :..,1 :..,2..,2..,3 :..,1 :..,1..,1.

2006..,1..,2.,.,2..,3..,3 22..,4..,4 :..,5..,5 :..,5..,6..,6..,8..,10 :..,12..,1..,6..,6..,2 1907..,5,:..,1 :..,1 :..,1 :..,2..,2..,3 :..,1 :..,1..,1. 2006 2005..,5..,2 20 20..,2..,3..,3..,3..,3..,3..,5..,5 :..,8 1861 :..,11..,12 2005..,2..,1..,2..,1..,4..,6..,6 :..,10..,4..,4..,5..,1 :..,4..,6..,3..,4 1910..,5 :1930..,1..,4..,2 :..,2..,2..,1 19.., 1..,1..,1..,3..,3

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 计算概论 A 课程程序设计部分 C++ 语言基本成分 数据成分 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 再谈, 我们的进度安排 我们的学习过程 感性理性函数指针等 数据成分运算成分控制成分数组字符串 结构化的程序递归 传统学习过程 数据类型与表达式 输入输出 关系运算 控制语句 函数数组指针结构体 作业练习 感性认识作业练习 ( 以抄程序为主 ) 正常作业练习

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章流程控制和数组 3.1 实验目的 (1) 熟练掌握控制台应用程序的代码编写和调试, 以及运行方法 (2) 掌握选择结构的一般语法格式和应用 (3) 掌握 switch 语句的用法 (4) 掌握选择结构的嵌套的用法, 能灵活使用选择结构解决实际问题 (5) 掌握 while 循环语句的一般语法格式 (6) 掌握 for 循环语句的一般语法格式 (7) 掌握循环嵌套的语法格式 (8) 掌握一维数组的定义

More information

第二章

第二章 第二章 P-36-6 ()L(G) 是 ~9 组成的数字串 ; (2) 最左推导 : N ND NDD NDDD DDDD DDD DD 2D 27 N ND DD 3D 34 N ND NDD DDD 5DD 56D 568 最右推导 : N ND N7 ND7 N27 ND27 N27 D27 27 N ND N4 D4 34 N ND N8 ND8 N68 D68 568 P-36-7 G():(

More information

STRUCT Tag OptTag ID Tag ID 7..4 Declarators VarDec ID VarDec LB INT RB FunDec ID LP VarList RP ID LP RP VarList ParamDec COMMA VarList ParamDec Param

STRUCT Tag OptTag ID Tag ID 7..4 Declarators VarDec ID VarDec LB INT RB FunDec ID LP VarList RP ID LP RP VarList ParamDec COMMA VarList ParamDec Param 7. 附录 A:C 语言文法 在本附录中, 我们给出 C 语言的文法定义和补充说明 7. 文法定义 7.. Tokens INT /* A sequence of digits without spaces */ FLOAT /* A real number consisting of digits and one decimal point. The decimal point must be surrounded

More information

"!""#!"#$!"""!""$ %&# #$(!""%!""& ) *+#,$ -.# % /&01!""(!" " &#(& ) 203,+," #$4,$ #5, %&# #$(!""%!""( #$!""# $ $!"#

!#!#$!!$ %&# #$(!%!& ) *+#,$ -.# % /&01!(!  &#(& ) 203,+, #$4,$ #5, %&# #$(!%!( #$!# $ $!# " #! ( # ( (!""&!""%!""&!""&!!""% "%!"""$& #& $!"#!""# $ "!""#!"#$!"""!""$ %&# #$(!""%!""& ) *+#,$ -.# % /&01!""(!" " &#(& ) 203,+," #$4,$ #5, %&# #$(!""%!""( #$!""# $ $!"# " %!""$ %!""!!!"##"$%& ( %&#

More information

Microsoft PowerPoint - 5 Syntax-Directed Translation.pptx

Microsoft PowerPoint - 5 Syntax-Directed Translation.pptx 第五章语法制导的翻译 陈林 引言 使用上下文无关文法引导语言的翻译 CFG 的非终结符号代表了语言的某个构造 程序设计语言的构造由更小的构造组合而成 一个构造的语义可以由小构造的含义综合而来 比如 : 表达式 x+y 的类型由 x y 的类型和运算符 + 决定 也可以从附近的构造继承而来 比如 : 声明 int x; 中 x 的类型由它左边的类型表达式决定 语法制导定义和语法制导翻译 语法制导定义

More information

C/C++语言 - 运算符、表达式和语句

C/C++语言 - 运算符、表达式和语句 C/C++ Table of contents 1. 2. 3. 4. C C++ 5. 6. 7. 1 i // shoe1.c: # include # define ADJUST 7. 64 # define SCALE 0. 325 int main ( void ) { double shoe, foot ; shoe = 9. 0; foot = SCALE * shoe

More information

软件工程技术知识体系 机器学习 / 神经网络 (AI) 不确定性 ( 黑盒, 概率 ) 编译技术 灵活多变, 但有基因 数据库技术 联系 组合, 摘取 基础技术 联线 : 直观易懂 分布式系统面向对象编程计算机网络操作系统数据结构 2

软件工程技术知识体系 机器学习 / 神经网络 (AI) 不确定性 ( 黑盒, 概率 ) 编译技术 灵活多变, 但有基因 数据库技术 联系 组合, 摘取 基础技术 联线 : 直观易懂 分布式系统面向对象编程计算机网络操作系统数据结构 2 编译原理 Compiler Principles 第一章引论 湖南大学信息科学与工程学院软件工程系杨金民 2018 软件工程技术知识体系 机器学习 / 神经网络 (AI) 不确定性 ( 黑盒, 概率 ) 编译技术 灵活多变, 但有基因 数据库技术 联系 组合, 摘取 基础技术 联线 : 直观易懂 分布式系统面向对象编程计算机网络操作系统数据结构 2 灵活多变 : 计算器该如何编程? a + b a

More information

第 二 十 章 灸 法 拔 罐 法 设 计 首 页 课 程 名 称 中 医 传 统 康 复 疗 法 项 目 / 主 题 灸 法 拔 罐 法 课 类 理 论 课 课 序 1 学 时 2 班 级 / 小 组 13 级 体 育 保 健 与 康 复 地 点 819 时 间 11 月 12 日 能 力 ( 技

第 二 十 章 灸 法 拔 罐 法 设 计 首 页 课 程 名 称 中 医 传 统 康 复 疗 法 项 目 / 主 题 灸 法 拔 罐 法 课 类 理 论 课 课 序 1 学 时 2 班 级 / 小 组 13 级 体 育 保 健 与 康 复 地 点 819 时 间 11 月 12 日 能 力 ( 技 中 医 传 统 康 复 疗 法 课 程 教 案 ( 2014---2015 学 年 第 一 学 期 ) 授 课 类 型 ( 新 旧 课 ): 新 授 课 有 无 大 纲 : 有 理 论 : 36 学 时 实 验 : 0 学 时 复 习 : 0 学 时 课 内 实 操 : 18 学 时 参 观 : 0 学 时 其 他 : 0 学 时 目 的 要 求 : 本 授 课 计 划 以 党 的 教 育 方 针

More information

?C?{????

?C?{???? 臺 北 市 政 府 教 育 局 102 年 度 臺 北 市 高 級 中 等 以 下 學 校 國 際 教 育 深 耕 方 案 臺 北 市 國 中 領 域 跨 國 參 訪 報 告 出 國 期 間 :102 年 11 月 17 日 至 21 日 派 赴 國 家 : 中 國 大 陸 杭 州 市 報 告 日 期 :102 年 12 月 公 務 赴 大 陸 地 區 出 國 報 告 ( 赴 大 陸 出 國 類 別

More information

( 二 ) 加 強 學 校 進 行 環 境 教 學, 培 養 具 有 環 境 素 養 的 公 民, 提 升 環 境 的 覺 察 與 行 動 能 力 ( 三 ) 落 實 推 動 校 園 生 活 環 保 工 作, 養 成 節 能 減 碳 愛 物 惜 福 及 簡 單 樸 實 的 生 活 方 式 ( 四 )

( 二 ) 加 強 學 校 進 行 環 境 教 學, 培 養 具 有 環 境 素 養 的 公 民, 提 升 環 境 的 覺 察 與 行 動 能 力 ( 三 ) 落 實 推 動 校 園 生 活 環 保 工 作, 養 成 節 能 減 碳 愛 物 惜 福 及 簡 單 樸 實 的 生 活 方 式 ( 四 ) 臺 南 市 優 良 學 校 環 境 教 育 計 畫 報 名 表 基 本 資 料 縣 市 別 臺 南 市 學 校 全 銜 臺 南 市 東 區 大 同 國 民 小 學 校 址 臺 南 市 東 區 榮 譽 街 30 號 聯 絡 人 葉 怡 安 聯 絡 人 職 稱 教 師 兼 體 衛 組 長 聯 絡 電 話 (06)2151761 傳 真 (06)2158125 行 動 電 話 0939783739 Email

More information

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE Project Properties IDE makefile 1. Oracle Solaris Studio 12.2 IDE 2010 9 2 8 9 10 11 13 20 26 28 30 32 33 Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1. "File" > "New

More information

《C语言程序设计》第2版教材习题参考答案

《C语言程序设计》第2版教材习题参考答案 教材 C 语言程序设计 ( 第 2 版 ) 清华大学出版社, 黄保和, 江弋编著 2011 年 10 月第二版 ISBN:978-7-302-26972-4 售价 :35 元 答案版本 本习题答案为 2012 年 2 月修订版本 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p = &a A. *p = *a B. p = *a C.p = &a D. *p =

More information