预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共56页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于GUI的交互式编译系统之中间代码生成器的设计与实现 基于GUI的交互式编译系统之中间代码生成器的设计与实现 摘要 本设计实现了一个编译器前端,它将一个用C语言的子语言编写的源程序翻译成中间代码。词法分析器、语法分析器、中间代码生成器均是采用C++语言手动书写完成,未采用自动生成器,GUI采用Win32API实现以保证轻快的运行速度及良好的系统性能,编辑控件采用Scintilla。词法分析器采用确定有限自动机实现,语法分析器是一个递归下降分析器,中间代码生成器输出的中间代码以四元式形式表示。 本设计实现的编译器前端,运行在Windows平台下,Windows系统版本为WindowsXP、Windows7或更高版本。本设计提供了一个可工作的界面友好的编译器前端,可以用来理解编译原理及解释怎样用一种语言如C++实现编译器前端,以供学习和教学所用。 关键词:编译器前端;GUI;C++ Design&ImplementationofIntermediateCodeGeneratorofInteractiveCompilationSystemBasedGUI Abstract Thisfinalprojectimplementsacompilerfront-end,ittranslatessourceprogramswritteninasubsetoftheClanguageintointermediatecode.Thelexer、parserandintermediatecodegeneratorareallhand-writteninC++,noautolexerorparserareused,GUIisimplementedinWin32APIforfastrunningspeedandhighperformance,andeditcontrolusesScintilla.ThelexerisimplementedinDeterministicfiniteautomata,theparserisarecursive-descentparser,theintermediatecodesarerepresentedinquadruple。 Thecompilerfront-endrunsontheWindowsplatform,WindowssystemversionisWindowsXP,Windows7orlater.Thisprojectprovideaworkinganduserinterfacefriendlycompilerfront-end,whichcanbeusedtodemonstratecompilerprincipleandhowcompilerscanbeimplementedinalanguagesuchasC++,forlearningandteaching. Keywords:compilerfront-end;GUI;C++ 目录 TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc358733311"1绪论 PAGEREF_Toc358733311\h1 HYPERLINK\l"_Toc358733312"2基本原理 PAGEREF_Toc358733312\h3 HYPERLINK\l"_Toc358733313"2.1词法分析 PAGEREF_Toc358733313\h4 HYPERLINK\l"_Toc358733314"2.1.1词法分析结果 PAGEREF_Toc358733314\h4 HYPERLINK\l"_Toc358733315"2.1.2确定有限自动机 PAGEREF_Toc358733315\h5 HYPERLINK\l"_Toc358733316"2.2语法分析 PAGEREF_Toc358733316\h5 HYPERLINK\l"_Toc358733317"2.2.1递归下降分析法 PAGEREF_Toc358733317\h6 HYPERLINK\l"_Toc358733318"2.2.2运算符的优先级 PAGEREF_Toc358733318\h8 HYPERLINK\l"_Toc358733319"2.3中间代码生成 PAGEREF_Toc358733319\h9 HYPERLINK\l"_Toc358733320"2.3.1四元式 PAGEREF_Toc358733320\h9 HYPERLINK\l"_Toc358733321"2.3.2四元式的常见结构 PAGEREF_Toc358733321\h