基于GUI的交互式编译系统之中间代码生成器的设计与实现大学论文.docxVIP

  • 8
  • 0
  • 约3.68万字
  • 约 54页
  • 2017-11-20 发布于江苏
  • 举报

基于GUI的交互式编译系统之中间代码生成器的设计与实现大学论文.docx

基于GUI的交互式编译系统之中间代码生成器的设计与实现大学论文

基于GUI的交互式编译系统之中间代码生成器的设计与实现 基于GUI的交互式编译系统之中间代码生成器的设计与实现 摘要 本设计实现了一个编译器前端,它将一个用C语言的子语言编写的源程序翻译成中间代码。词法分析器、语法分析器、中间代码生成器均是采用C++语言手动书写完成,未采用自动生成器,GUI采用Win32 API实现以保证轻快的运行速度及良好的系统性能,编辑控件采用Scintilla。词法分析器采用确定有限自动机实现,语法分析器是一个递归下降分析器,中间代码生成器输出的中间代码以四元式形式表示。 本设计实现的编译器前端,运行在Windows平台下,Windows系统版本为Windows XP、Windows 7或更高版本。本设计提供了一个可工作的界面友好的编译器前端,可以用来理解编译原理及解释怎样用一种语言如C++实现编译器前端,以供学习和教学所用。 关键词:编译器前端;GUI;C++ Design Implementation of Intermediate Code Generator of Interactive Compilation System Based GUI Abstract This final project implements a compiler front-end, it translates source programs written in a subset of the C language into intermediate code. The lexer、parser and intermediate code generator are all hand-written in C++, no auto lexer or parser are used, GUI is implemented in Win32 API for fast running speed and high performance, and edit control uses Scintilla. The lexer is implemented in Deterministic finite automata, the parser is a recursive-descent parser, the intermediate codes are represented in quadruple。 The compiler front-end runs on the Windows platform, Windows system version is Windows XP, Windows 7 or later. This project provide a working and user interface friendly compiler front-end, which can be used to demonstrate compiler principle and how compilers can be implemented in a language such as C++, for learning and teaching. Keywords: compiler front-end; GUI; C++ 目录  TOC \o 1-3 \h \z \u  HYPERLINK \l _Toc358733311 1 绪论  PAGEREF _Toc358733311 \h 1  HYPERLINK \l _Toc358733312 2 基本原理  PAGEREF _Toc358733312 \h 3  HYPERLINK \l _Toc358733313 2.1 词法分析  PAGEREF _Toc358733313 \h 4  HYPERLINK \l _Toc358733314 2.1.1 词法分析结果  PAGEREF _Toc358733314 \h 4  HYPERLINK \l _Toc358733315 2.1.2 确定有限自动机  PAGEREF _Toc358733315 \h 5  HYPERLINK \l _Toc358733316 2.2 语法分析  PAGEREF _Toc358733316 \h 5  HYPERLINK \l _Toc358733317 2.2.1 递归下降分析法  PAGEREF _Toc358733317 \h 6  HYPERLINK \l _Toc358733318 2.2.2 运算符的优先级  PAGEREF _To

文档评论(0)

1亿VIP精品文档

相关文档