正在加载图片...
China-pub.com 下载 附录A编译器设计方案 本章要点 ·C一惯用的词法 ·C一语言的Tiny Machine运行时环境 ·C一的语法和语义 ·使用C一和TM的编程设计 ·C一的程序例子 这里定义了一个编程语言称作C一Mius(或简称为C一),这是一种适合编译器设计方案的 语言,它比TNV语言更复杂,句括承数和数组。本质上它是C的一个子集,但省夫了一些重要 的部分,因此得名。这个附录由5小节组成。首先,我们列出了语言惯用的词法,包括语言标 记的描述。其次,给出了每个语言构造的BNF描述,同时还有相关语义的英语描述。在A3节, 给出了C一的两个示例程序。再者,描述了C一的一个Tiny Machine运行时环境。最后一节描述 了一些使用C一和TM的编程设计方案,适合于一个编译器教程。 A.1C-惯用的词法 1.下面是语言的关键字: else if int return void while 所有的关键字都是保留字,并且必须是小写。 2.下面是专用符号: +-*/<<=>>====;,()【】【*/ 3.其他标记是ID和NUM,通过下列正则表达式定义: ID letter lettert NUM digit digit+ 1 etter=a1.1zla1…1z dig1t01.9 小写和大写字母是有区别的。 4.空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM关 键字。 5.注释用通常的C语言符号/*,·.*/围起来。注释可以放在任何空白出现的位置(即注释 不能放在标记内)上,且可以超过一行。注释不能嵌套。 A.2C-的语法和语义 C一的BNF语法如下: 1.program-declaration-list 2.declaration-listdeclaration-list declaration declaration 3.declaration-var-declaration fun-declaration下载 附录A 编译器设计方案 本章要点 • C-惯用的词法 • C-语言的Tiny Machine运行时环境 • C-的语法和语义 • 使用C-和T M的编程设计 • C-的程序例子 这里定义了一个编程语言称作C-M i n u s (或简称为C-),这是一种适合编译器设计方案的 语言,它比T I N Y语言更复杂,包括函数和数组。本质上它是C的一个子集,但省去了一些重要 的部分,因此得名。这个附录由 5小节组成。首先,我们列出了语言惯用的词法,包括语言标 记的描述。其次,给出了每个语言构造的 B N F描述,同时还有相关语义的英语描述。在 A . 3节, 给出了C-的两个示例程序。再者,描述了C-的一个Tiny Machine运行时环境。最后一节描述 了一些使用C-和T M的编程设计方案,适合于一个编译器教程。 A.1 C-惯用的词法 1. 下面是语言的关键字: else if int return void while 所有的关键字都是保留字,并且必须是小写。 2. 下面是专用符号: + - * / < <= > >= == != = ; , ( ) [ ] { } /* */ 3. 其他标记是I D和N U M,通过下列正则表达式定义: ID = letter letter* NUM = digit digit* letter = a|..|z|A|..|Z digit = 0|..|9 小写和大写字母是有区别的。 4. 空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开 I D、N U M关 键字。 5. 注释用通常的C语言符号/ * . . . * /围起来。注释可以放在任何空白出现的位置 (即注释 不能放在标记内)上,且可以超过一行。注释不能嵌套。 A.2 C-的语法和语义 C-的B N F语法如下: 1. p ro g r a m → d e c l a r a t i o n - l i s t 2. d e c l a r a t i o n - l i s t → d e c l a r a t i o n - l i s t d e c l a r a t i o n | d e c l a r a t i o n 3. d e c l a r a t i o n → v a r- d e c l a r a t i o n | f u n - d e c l a r a t i o n
向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有