一、 实验内容 S语言的编译程序的词法分析部分实现 从左到右扫描每行S语言源程序的符号,拼成单词,换成内部表示(token) 二、 实验要求 要求实现编译器的以下功能: 组织源程序的输入 按规则拼写单词,并转换成二元形式 删除空格及无用符号(如回车符,字符常数的引号符等) 发现并定位错误 建立单词表、符号表、常数表等文件 三、 实现方法 数据结构 1、 输入 S语言源程序,为文本文件 2、 输出 词法分析程序的运行结果是:产生一个单词序列文件(token文件)和一个常数表、一个符号表文件,并输出错误信息。 (1) token文件结构 token文件用于存放从S语言源程序中扫描出来的一个个单词符号的机内表示,其文件结构如下: typedef strUCt token { nt label char name[30] int code int addr }token 说明: label:单词序号; name[30]:单词本身; code:单词的编辑; addr:地址,单词本身保留字时值为-1,为标识符成常数时为大于0常数,即该标识符成常数在符号表中的入口地址。
上传时间: 2015-04-29
上传用户:refent
This text surrounds the development of the electric power SCADA system exactly, aiming at the present condition of the our country electric power charged barbed wire net currently, according to the oneself at the e- lectric power protect the profession after the electricity in seven years of development, design and adjust to try the experience on the scene from following severals carry on the treatise:Is the emergence to the system of SC- ADA and developments to introduce first Carry on the introduction elucidation to applied present condition and the development foregrounds of various terminal equipments communication agreement(rules invite) the next in order Then is the elucidation to the windows the bottom according to the mfc the plait distance environment an- d VC++6.0 plait distance softwares Carry on the more detailed treatise to the realization of the procedure strUCt- ure frame and the source code again End is the applied case example give examples.
标签: the development surrounds electric
上传时间: 2014-10-28
上传用户:liuchee
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <malloc.h> #include <math.h> #include <conio.h> strUCt DuLNode{ strUCt DuLNode *prior int data strUCt DuLNode *next
上传时间: 2014-01-01
上传用户:caiiicc
实习题 [问题描述] 1. 设顺序表中的数据元素递增有序,将插入到顺序表的适当位置上,是该表仍然有序。 [输入] 初始顺序表,插入字符。 [输出] 插入x后线性表的结果 [存储结构] 采用顺序存储结构 [算法的基本思想] 建立一个递增顺序表,插入一个数值并移动元素,使其仍然有序。 程序如下: #include "iostream.h" #include <malloc.h> #define LIST_INTI_SIZE 100//初始空间大小 typedef strUCt SqList
上传时间: 2014-01-14
上传用户:fhzm5658
[输入] 图的顶点个数N,图中顶点之间的关系及起点A和终点B [输出] 若A到B无路径,则输出“There is no path” 否则输出A到B路径上个顶点 [存储结构] 图采用邻接矩阵的方式存储。 [算法的基本思想] 采用广度优先搜索的方法,从顶点A开始,依次访问与A邻接的顶点VA1,VA2,...,VAK, 访问遍之后,若没有访问B,则继续访问与VA1邻接的顶点VA11,VA12,...,VA1M,再访问与VA2邻接顶点...,如此下去,直至找到B,最先到达B点的路径,一定是边数最少的路径。实现时采用队列记录被访问过的顶点。每次访问与队头顶点相邻接的顶点,然后将队头顶点从队列中删去。若队空,则说明到不存在通路。在访问顶点过程中,每次把当前顶点的序号作为与其邻接的未访问的顶点的前驱顶点记录下来,以便输出时回溯。 #include<stdio.h> int number //队列类型 typedef strUCt{ int q[20]
标签: 输入
上传时间: 2015-11-16
上传用户:ma1301115706
2.[问题描述] 编写递归算法,在二叉树中求位于先序序列中第K个位置的结点 [输入] 按照先序序列的顺序输入该结点的内容。其输入abd eh cf i g 。输入要求的位置 [输出] 若二叉树不空,按先序序列输出,求出所求位置的结点 [存储结构] 采用二叉表存储 [算法的基本思想] 采用递归方法建立和遍历二叉树。首先建立二叉树的根结点,然后建立其左右子树,直到空子树为止,先序遍历二叉树时,先遍厉左子树,后遍厉右子树,最后访问根结点并计算出二叉树中叶子结点的数目和第K个位置的结点 #include<stdio.h> #include<malloc.h> strUCt node{ char info strUCt node*llink,*rlink } typedef strUCt node NODE
上传时间: 2014-01-13
上传用户:zm7516678
[问题描述] 在二叉排序树中查找关键字为KEY的记录 [输入] 有序表输入要查找元素的关键字 [输出] 查找成功是即可显示查找成功 #include <stdlib.h> #include <stdio.h> typedef int KeyType typedef strUCt{
上传时间: 2015-11-16
上传用户:erkuizhang
学会对文件的记录锁定,及解锁。#include <stdio.h> #include <unistd.h> #include <fcntl.h> int main() { int fd int i strUCt { char name[20] uint ID int age } myrec fd =open("name", O_RDWR|O_CREAT, 0755) if (fd == -1) return -1 printf("Input your name:") scanf("%s", myrec.name) printf("Inpute your ID :") scanf("%d", &myrec.ID) printf("Input your age :") scanf("%d", &myrec.age) lseek(fd, 0,SEEK_END) lockf(fd, 1, 0) write(fd, (void *)&myrec, sizeof(myrec)) lockf(fd, 0 ,0) return 0 } 执行命令cc lock.c –o lock.out Chmod +x lock.out ./lock.out
标签: 记录
上传时间: 2016-01-04
上传用户:亚亚娟娟123
经典数据结构中较难的平衡二叉排序树的操作,考虑到较多同学都需要,特此上传,c++实现,需要做异质树的自行把strUCt改为class既可。
上传时间: 2016-02-17
上传用户:cxl274287265
数据结构(严慰敏)配套纯c代码实验十 typedef int InfoType // 定义其它数据项的类型 typedef int KeyType // 定义RedType类型的关键字为整型 strUCt RedType // 记录类型(同c10-1.h) { KeyType key // 关键字项 InfoType otherinfo // 其它数据项 } typedef char KeysType // 定义关键字类型为字符型 #include"c1.h" #include"c10-3.h" void InitList(SLList &L,RedType D[],int n) { // 初始化静态链表L(把数组D中的数据存于L中) char c[MAX_NUM_OF_KEY],c1[MAX_NUM_OF_KEY] int i,j,max=D[0].key //
标签: typedef int InfoType KeyType
上传时间: 2016-03-03
上传用户:2404