编译原理实验报告 (16)

更新时间:2023-05-20 21:04:30 阅读: 评论:0

编译原理实验报告
实验一  词法分析设计
一、实验目的
通过本实验的编程实践,使学生了解词法分析的任务,掌握词法分析程序设计的原理和构造方法,使学生对编译的基本概念、原理和方法有完整的和清楚的理解,并能正确地、熟练地运用。
二、实验内容
我是一只猫作文用 VC++/VB/JAVA 语言实现对 C 语言子集的源程序进行词法分析。通过输入源程序从左到右对字符串进行扫描和分解,依次输出各个单词的内部编码及单词符号自身值;若遇到错误则显示“Error”,然后跳过错误部分继续显示 ;同时进行标识符登记符号表的管理。
三、词法分析实验设计思想及算法
int fenxi(CString,CString&)
分析程序的入口函数
void myprint(CString&);
输出分析结果
void error(CString);
交流沟通
错误处理函数
bool isConstructChar(char,int);
判断是否是构成标识符的字符
void doNumber(CString);
处理数字输入
void石油产地 doChar(CString);
处理字符输入
void doVal(CString);
处理标识符输入
运行结果
for(i==10)
{
i=i+1;
a=3b;
a=1.24.23.23;
}
源代码
#include<iostream>
#include<string>
#include<vector>
#include<fstream>
using namespace std;
struct node
{
    int num;
    int type;
    CString word;
箭的成语};
struct point
{
    int lin;
    int row;
风景句子
};
struct result        //分析结果类型
{
    int type;        //符号类型
    int num;        //符号编号
    point p;        //出错位置
};
node keyWord[100];
node character[100];
vector<result> nUNIT;
vector<node> Val;
vector<node> Num;
vector<node> Err;
入乡随俗
int line=0;    //标示行
int row=0;    //标示列   
void myprint(CString &output);
void error(CString inCString);
bool isConstructChar(char c,int type);
void doSpliter(CString inCString);
void doNumber(CString inCString);
void doChar(CString inCString);
void doVal(CString inCString);
int fenxi(CString file,CString &output)
{
    //构造关键字表
    keyWord[0].num=0;
    keyWord[0].word="do";
    keyWord[0].type=1;
    keyWord[1].num=1;
    keyWord[1].word="end";
    keyWord[1].type=1;
    keyWord[2].num=2;
    keyWord[2].word="for";
    keyWord[2].type=1;
    keyWord[3].num=3;
    keyWord[3].word="if";
    keyWord[3].type=1;
    keyWord[4].num=4;
    keyWord[4].word="printf";技嘉b150
    keyWord[4].type=1;
    keyWord[5].num=5;
    keyWord[5].word="scanf";
    keyWord[5].type=1;
作开头的成语
    keyWord[6].num=6;
    keyWord[6].word="then";
    keyWord[6].type=1;
    keyWord[7].num=7;
    keyWord[7].word="while";

本文发布于:2023-05-20 21:04:30,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/711727.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分析   词法   进行   输入   标识符   原理   错误   源程序
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图