资源简介
里面包括了哈工大威海,编译原理实验的全部源码和报告
有词法分析
语法分析
语义分析和中间代码生成
VC 6.0编写
代码片段和文件信息
#include
#include
#include
#include
using namespace std;
#define MAX 5
char ch =‘ ‘;
string keyword[5]={“do““else““if““while“ “then“ };
// 常见关键字数组 只用了部分
//************************关键字的处理过程****************************************
int isKeyWord(string c){
int i;
for(i=0;i if(keyword[i].compare(c)==0)
return 1; //与关键字数组中用相同的就返回真,否则假
}
return 0;
}
//************************字母的处理过程****************************************
int isAlpha(char c) {
if(((c<=‘z‘)&&(c>=‘a‘))||((c<=‘Z‘)&&(c>=‘A‘)))
return 1; //比较字母的ASCII码值,在大小写范围内,返回真,否则假。
else
return 0;
}
//************************数字的处理过程****************************************
int isNum(char c){
if(c>=‘0‘&&c<=‘9‘)
return 1; //比较字母的ASCII码值,在0-9范围内,返回真,否则假。
else
return 0;
}
//************************运算符处理过程*******************************************
// 过程中指针总是向前看一个,决定当前的各种单词是否结束,或是根据后边的输入消除当前字符二义性。
void caculate(FILE *fpinchar *out_fin){
ofstream out(out_finios::out); //文件token.txt输入内存
string arr=““; //字符串
while((ch=fgetc(fpin))!=EOF)
{
arr=““;
if(ch==‘ ‘||ch==‘\t‘||ch==‘\n‘)
{
} //空格,缩进,换行,均不做操作
else if(isAlpha(ch))
{ //若有字符
while(isAlpha(ch)||isNum(ch))
{ //当有字符或数字的时候,循环
arr=arr+ch;
ch=fgetc(fpin);
}
fseek(fpin-1LSEEK_CUR); //循环结束后,重定位流指针从当前位置左移一位。开始判断新的输入是什么类型
if (isKeyWord(arr))
{
out< } //若是关键字,则输出类型1,关键字
else out< }
else if(isNum(ch)){
int i=1;//若是数字
while(isNum(ch))// 数字 || . &&(得到一个字符||字符是e||输入是e)
{
arr+=ch;
ch=fgetc(fpin);
i++;
}
// fseek(fpin-iLSEEK_CUR); // 指针左移3
out< }
else switch(ch){
case‘+‘:
case‘-‘ :
case‘*‘ :
case‘=‘ :
case‘/‘ :out< case‘(‘ :
case‘)‘ :
case‘[‘ :
case‘]‘ :
case‘;‘ :
case‘#‘ :
case‘.‘ :
case‘‘ :
case‘{‘ :
case‘}‘ :out<
/* case ‘“‘:{
string string1=““;
do
{
string1+=ch;
ch=fgetc(fpin);
} while (ch!=‘“‘);//循环得到 ““
string1+=ch;
out< }
br
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-05-24 22:07 编译原理实验\
目录 0 2012-05-23 02:04 编译原理实验\2\
目录 0 2012-05-24 22:07 编译原理实验\编译原理实验\
目录 0 2012-05-24 22:07 编译原理实验\编译原理实验2\
文件 2712032 2012-05-23 00:35 编译原理实验\编译原理实验2.zip
目录 0 2012-05-24 22:07 编译原理实验\编译原理实验2\编译原理实验上一届的\
目录 0 2012-05-24 22:07 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\
目录 0 2012-05-24 22:07 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\Debug\
文件 577621 2011-07-09 22:02 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\Debug\token1.exe
文件 826032 2011-07-09 22:02 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\Debug\token1.ilk
文件 253033 2011-07-09 22:02 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\Debug\token1.obj
文件 2178064 2011-07-09 22:02 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\Debug\token1.pch
文件 1147904 2011-07-09 22:02 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\Debug\token1.pdb
文件 74752 2011-07-09 22:02 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\Debug\vc60.idb
文件 110592 2011-07-09 22:02 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\Debug\vc60.pdb
文件 597 2011-07-09 22:02 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\token.txt
文件 6736 2011-07-10 11:09 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\token1.cpp
文件 4284 2011-07-09 22:03 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\token1.dsp
文件 520 2011-07-09 22:02 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\token1.dsw
文件 41984 2012-05-18 16:45 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\token1.ncb
文件 48640 2012-05-18 16:45 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\token1.opt
文件 1300 2011-07-09 22:02 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\token1.plg
文件 98 2011-06-02 23:57 编译原理实验\编译原理实验2\编译原理实验上一届的\实验一,token1\tokentest.txt
目录 0 2012-05-24 22:07 编译原理实验\编译原理实验2\编译原理实验上一届的\实验三,YUYI1\
目录 0 2012-05-24 22:07 编译原理实验\编译原理实验2\编译原理实验上一届的\实验三,YUYI1\Debug\
文件 172 2011-07-11 11:39 编译原理实验\编译原理实验2\编译原理实验上一届的\实验三,YUYI1\Debug\string.txt
文件 114 2011-07-11 11:38 编译原理实验\编译原理实验2\编译原理实验上一届的\实验三,YUYI1\Debug\test.txt
文件 296 2011-07-11 11:39 编译原理实验\编译原理实验2\编译原理实验上一届的\实验三,YUYI1\Debug\token.txt
文件 82944 2011-07-11 11:34 编译原理实验\编译原理实验2\编译原理实验上一届的\实验三,YUYI1\Debug\vc60.idb
文件 110592 2011-07-11 11:34 编译原理实验\编译原理实验2\编译原理实验上一届的\实验三,YUYI1\Debug\vc60.pdb
文件 610387 2011-07-11 11:34 编译原理实验\编译原理实验2\编译原理实验上一届的\实验三,YUYI1\Debug\YUYI1.exe
............此处省略86个文件信息
- 上一篇:Eazfuscator.NET 2019.1+注册机
- 下一篇:电磁兼容测试培训教材
相关资源
- 编译原理课设c编译器
- 赋值语句翻译四元式
- 河北工业大学编译原理实验代码及实
- 编译原理课程设计 while do循环语句翻
- 编译原理课程设计do——while简单优先
- 南开大学编译原理课件及作业
- 华工往年编译原理试卷
- 编译原理课程设计for循环LR法三元式
- 哈工程-编译原理课程设计(2016级)
- 龙书《编译原理》(Compilers:Principle
- 编译原理复习题
- 天津理工大学编译原理实验2
- 程序设计语言编译原理_陈火旺_第3版
- 编译原理CP lab实验报告.doc
- 编译原理.zip
- 编译原理基础习题与上机题解答
- LR0分析表自动生成程序_界面输入产生
- 编译原理与实践课后习题答案中文英
- 编译原理_第二版_(陈意云_著)_高等
- OpenMP编译原理及实现技术
- Pascal语义分析器
- 西北农林科技大学编译原理实验
- 编译原理-何炎祥-华中理工大学出版社
- 编译原理课件(龙书为教材).ppt267
- Parsing Techniques 英文带书签版
- 编程演示三种存储管理方式的地址换
- 编译原理龙书部分答案1-9
- 编译原理 第二版 龙书 习题答案
- 编译原理陈火旺第三版课本及其答案
- 编译原理实验题——PL/0语言编译器设
评论
共有 条评论