资源简介

包括代码及报告 输出三地址为goto语句那种,非三元式

资源截图

代码片段和文件信息

#include   
#include   
#include 
#include
#include
#include 
using namespace std;
int colume=0;int row=1;
int address=0;
int *ERROR=new int [100];
int error=0;
string KEYWORD[3]={“for““int““float“};//关键字
int KNLength=3;
struct tableword
{
string word;
int type;//0-关键字,1-标识符,2-数,3-字符,4-算符,5-其他(界限符)
};
tableword table_word[100];//单词
int tableword_length=0;
int t=0;
struct item
{
string text;
};//语句
item result[50];
struct StackState//状态
{
int size;
int *top;
int *base;
int length;
};
struct StackSign//算符
{
string *top;
string *base;
int size;
int length;
};
typedef StackSign StackMedium;//中间结果

bool Keyword(char cifstream &infile);
bool Identify(char cifstream &infilestring &strtemp);
bool ConstStr(char cifstream &infile);
bool ConstChar(char cifstream &infile);
bool ConstNum(char cifstream &infile);
bool Operator(char cifstream &infile);
bool Delimiter(char c );
int classfify(char c);
int classify_num(char c);

int Action(int statechar cstring primitiveStackState&stack_stateStackSign&stack_signStackMedium&stack_medium);//动作表
char getsymbol(int word_nowint &row) ;//返回字符类型
void InitStack(StackState &stack_state);
void InitStack(StackSign &stack_sign);
void Push(StackState &stack_stateint state);
void Push(StackSign &stack_signstring temp);
void Pop(StackState &stack_stateint &temp);
void Pop(StackSign &stack_signstring &stemp);
void Gettop(StackState &stack_stateint &temp);
void Gettop(StackSign &stack_signstring &stemp);
string int_to_str(int n);


void G1(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G3(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G2(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G4(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G5(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G6(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G7(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G8(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G9(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G10(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G11(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G12(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G13(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G14(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G15(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G16(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G17(StackState&stack_stateStackSign&stack_signStackMedium&stack_medium);
void G18(St

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     295424  2011-01-08 19:02  for循环翻译 LR 三地址\action表.doc

     文件      32674  2011-01-07 19:36  for循环翻译 LR 三地址\for(LR三地址).cpp

     文件     335872  2011-01-10 17:21  for循环翻译 LR 三地址\报告.doc

     目录          0  2011-01-10 17:23  for循环翻译 LR 三地址

----------- ---------  ---------- -----  ----

               663970                    4


评论

共有 条评论