首页 c语言编译器的设计

c语言编译器的设计

举报
开通vip

c语言编译器的设计c语言编译器的设计 语言编译器的设计 20 10 12 ----2010 12 1 2 3 4 5 6 Windows xp vc6.0 2010121-2010 1220 20101220-2010 1226 [1] ,,.1996 [2] . Linux1999 [3] 1994 [4] [] UNIX 1989 [5] ,,..1997 [6] 2002 [7] 2002 FORTRANPASCALC 一 、引言(或绪论) FortranPascal ” 12 二、编译器的基...

c语言编译器的设计
c语言编译器的设计 语言编译器的设计 20 10 12 ----2010 12 1 2 3 4 5 6 Windows xp vc6.0 2010121-2010 1220 20101220-2010 1226 [1] ,,.1996 [2] . Linux1999 [3] 1994 [4] [] UNIX 1989 [5] ,,..1997 [6] 2002 [7] 2002 FORTRANPASCALC 一 、引言(或绪论) FortranPascal ” 12 二、编译器的基础知识 FORTRANPASCALC . 编译器的发展背景 1 FORTRANPASCALC IR ifwhile .编译器研发的可行性分析 1 2 3 4 1 2 3 (编译过程概述 FORTRANPASCALC 2 / C 1 1 3 ” 12 三、系统需求分析 (词法语法分析简介 .词法需求分析简介 4 1 2 3 4 5 6 rLR 7 .语法需求分析简介 5 Cocke-Younger-Kasami Early (4符号 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 的应用 , , 6 1 2 3 四、系统设计 4(系统设计总体 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图 Read_File() Get_Next_Token() Programme() N Y Y N 7 4.语法分析体流程图 Programme() Main_Function() N Const_Declaration() ; Y N Var_Declaration() Y Y N Sub_Function() TABLE ch N Y Programme() TABLE Get_Next_Token() int 0 A ch N 8 OPR 0 0 Y 4(语法分析概要设计 CEBNF <> [<>][<>]
[<>] <(main)> [<>][<>][<>]<> <>} <> CONST<>{ <> <>=<> < > [+|-]<>{<>} <> <><>{<>} <> int| flaot|double|char <> <>{<>| <>} <> <>|<>|<>|<>|<>|<> <> <>=<> <> <><><>|<> <> || for[]’[]’[] while’(‘<>’)’<> do’{‘<>’}’while’(‘<>’)’ <> <>[<>] <> scanf’(‘<>&’<>) <> printf’(‘<><>) <> %d|%c|%s <> [+|-]<><><> <> <><><> <> <>|<>|<> <> +|- <> *|/ <> ==|<|<=|>|>=|!= <> if<><>else<> 9 <> a|b||A|B||Z <> 0|1||9 C void Error(){…} main( ) { Constant; Variable() Call_sentence() Sentence(); } Constant /**/ { if(const) { Constant_define(); } } Constant_define() /**/ { Identifer Integer_content(); /**/ } Variable() /**/ { if() } Sentence() /**/ { if(!Set_value_sentence()) if(!Condition_sentence()) if(!Circle_sentence()) if(!Call_sentence()) if(!printf) if(!scanf) return Error(); } Set_value_sentence() { Identifer /**/ Expression/**/ } Condition () /**/ 10 { Expression Relation_symbol(); /**/ Expression } Circle_sentence() /**/ { for while do-while } Call_sentence() /**/ { Function_Identifer /**/ } Expression /**/ { if(+|-) Item(); Math_ symbol(); /**/ Item(); } Item() /**/ { Factor(); Math_ symbol(); Factor(); } Factor() /**/ { Identifer Integer; If(‘(‘) Expression; If(‘)’) Get_next_word(); } Math_ symbol() { if(Math_ symbol()) Get_next_word(); } Relation_symbol(); { 11 if(Relation_symbol()) Get_next_word(); } Condition_sentence () /**/ { if(if){ if(‘(‘) Expression; if(‘)’) Sentence (); } if(else) Sentence (); } 4.4目标代码的分析 , AST AST , , , NP1AST 23 , 1ASTAST 2AST3 , , AST CC++CC++ , , , , , , , 12 , , , , , , , + , , , , , , , dag, , dag , dag , dagdag , dag , dag , 1. 2. 13 , BURSBURS , BURS , BURSASTAST , BURS INI NI , , BURSFSA , , BURS , N1N2N1N2 , , , , * , , , , , , 14 , , , , , , , , , 结 论 C CC 15 16
本文档为【c语言编译器的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_686908
暂无简介~
格式:doc
大小:24KB
软件:Word
页数:12
分类:生活休闲
上传时间:2017-09-27
浏览量:22