这是编译原理课的一个实验题,对pl0语言写一个编译器,这个编译器是用MFC写的,界面比较简单,功能包括词法分析,语法分析,生成目标代码,执行目标代码
2020-01-05 20:33:23 6.72MB 编译原理、pl0、VC、MFC、编译器
1
PL/O语言词法分析、语法分析树、语义分析与中间代码生成、解释执行中间代码。
2020-01-03 11:32:01 8KB PL/O
1
PL/0语言词法及语法分析系统 个非常好的词法分析程序,加上语法的分析是一个难得一见的好实例-a very good lexical analysis procedure, in addition to the syntax analysis is a rare to see a good example
2019-12-21 22:12:15 646KB PL/0 词法 语法分析
1
编译原理PL/0 语言编译器分析实验报告
2019-12-21 21:56:57 128KB 编译原理 PL/0 编译器 实验报告
1
把关键字、算符、界符称为语言固有的单词,标识符、常量称为用户自定义的单词。为此设置三个全程量:SYM,ID,NUM 。 SYM:存放每个单词的类别,为内部编码的表示形式。 ID:存放用户所定义的标识符的值,即标识符字符串的机内表示。 NUM:存放用户定义的数。 GETSYM要完成的任务: 1. 滤掉单词间的空格。 2. 识别关键字,用查关键字表的方法识别。当单词是关键字时,将对应的类别放在SYM中。如IF的类别为IFSYM,THEN的类别为THENSYM。 3. 识别标识符,标识符的类别为IDENT,IDRNT放在SYM中,标识符本身的值放在ID中。关键字或标识符的最大长度是10。 4. 拼数,将数的类别NUMBER放在SYM中,数本身的值放在NUM中。 5. 拼由两个字符组成的运算符,如:>=、<=等等,识别后将类别存放在SYM中。 6. 打印源程序,边读入字符边打印。 由于一个单词是由一个或多个字符组成的,所以在词法分析程序GETSYM中定义一个读字符过程GETCH。
2019-12-21 21:02:51 4KB 编译原理 词法分析
1
一、 实验目的 1. 为了更好的配合《编译原理》有关词法分析章节的教学 2. 加深和巩固学生对于语法分析的了解和掌握 3. 让学生进一步的认识PL/0语言的基础和简单的程序编写 4. 使学生通过本实验能够初步的了解和掌握程序语法分析的整个过程 5. 提高学生的上机和编程过程中处理具体问题的能力 二、 实验要求 1. 在做本实验之前要先阅读完总体的预备知识以及本实验相关的基础知识。 2. 在编写和调试过程中出现的问题最好做一下记录。 3. 阅读懂所给出的语法分析程序,然后进行改进。 4. 在阅读懂所给出的语法分析程序后,老师将进行逐个的检查以及提问,然后给出成绩。 三、 实验内容: 1. 阅读所给出的语法分析程序(pl0_syntax.c),搞懂程序中每一个变量的含义,以及每一个过 程的作用,并在该过程中进行中文注释。 2. 阅读完程序后,画出各过程的流程图。 3. 在阅读懂所给出的语法分析程序后,将你对语法分析的理解写在实验报告上。 四、实验代码
1
计算机系统中最重要的系统软件,编译系统的实现。本软件以C/C++语言为实现语言,包括词法分析,语法分析,语义分析,中间代码生成等部分。实现了Pascal语言子集PL/0语言编译器
2019-12-21 19:51:11 358KB Pascal 编译器 源代码 PL/0语言
1
PL/0语言编译程序采用以语法分析为核心、一遍扫描的编译方法。 一.PL/0语言建立一个词法分程序GETSYM(函数) 二.PL/0语言建立一个语法分析程序BLOCK(函数) 三.建立一个解释执行目标程序的函数 内含所有源码和最终实验报告
2019-12-21 19:34:16 120KB 编译原理 山东大学 PL/0语言 词法分析
1