亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pl.h

?? pl0的擴展編譯器
?? H
字號:
#define keynum 42    //the number of the keyword
#define nummax 14      //the number of a digit 
#define maxlen 10     //the max length of a keyword
#define maxline 81     //the max length of a line
#define errornum 14
#define maxlev 3
#define amax 2047
#define codenum 10
typedef enum
{
	false,
	true
} bool;

/**
the fellow should have other define items and 
should be added later.
*/
enum symbolset{         //the set of the symbol
	nul,                //mean null;
	ident,              //標志符;
	number,             //數字;
	plus,               //+;
	minus,              // -;
	multi,				// *
	divid,				// /;
	eql,                // =;
	neql,               // !=;<>
	less,				// <;
	leql,				// <=;
	grt,                // >;
	geql,               // >=;
	lparen,             // (;
	rparen,             // );
	comma,				// ,;
	semicolon,			// ;
	squot,			// '
	period,// .
	colon,               // :
	assign,              // :=;
	forsym,              // symbol of for;
	ifsym,               // symbol of if;
	thensym,             // symbol of then;
	elsesym,            // symbol of else;
	casesym,             // symbol of case;
	ofsym,				// symbol of of;
	downtosym,           // symbol of downto;
	tosym,              // symbol of to;
	dosym,               // symbol of do;
	beginsym,            // symbol of begin;
	endsym,				// symbol of end;
	readsym,				// symbol of read
	writesym,           // symbol of write
	quote,				// left quote
	varsym,				//var
	realsym,			//the real
	constsym,			//the const
	charsym,			//the char
	functionsym,			//the function
	proceduresym,		//the procedure
	integersym,
	stringsym
};
enum typeset{            // the set of the types;
	constant,				// constant;
	var,				// variable;
	procedure,			// procedure;
	function,			// function;
	integer,            //  int ;
	plchar,              // char,/
	real,	           // float;
	string,
	parameter

};
enum vmcode{			//the code of the virtual machine
	lit,				//
	opr,				//operator
	lod,				//load
	sto,				//store
	cal,				//call?
	inte,				//assign the mem
	jmp,				//jump
	jpc,				//jump when =
	red,				//read
	wrt					//write
};
struct instruction
{
	enum vmcode vc;		//the virtual code
	int l;				//the level
	int a;				//constant
	double d;           //the double value
	char c;  //the plchar
	int flag;//identify the type of the var
};
struct tablestruct		// 符號表結構定義
{
	char name[maxlen];//the name
	enum typeset kind;//the type set 
	int val_int;//the value of the number ,for the constant
	double val_real;//real
	int level;//the level of the type of kind
	int adr;//the address;
	int size;//the volume of the space need to beed assigned
	//下面幾個定義與常量擴充有關
	char string[50];		//string
	char c;				//char 
	enum typeset type;//the type
	int paranum;  //the num of the function 
};
struct datastack
{
	int int_val;
	int real_val;
	char string[50];
};
typedef struct para
{//部分成員與常量有關;
	int i;
	double d;
	char c;
	char s[50];
}p;
//虛擬機棧類型
typedef struct stacktable
{
	int i;//for the integer
	char c;//for the char;
	char s[50];//for the string;
	double d;//for the real;
	struct datastack para[10];
} s;
//end of the it

struct tablestruct table[1024];//the table
//將符號表定義為一個結構的數組,
struct para pa;//vip
char errorset[errornum][80];
int cc;                 // the current position of the char getted;
int ll;
int linenum;
int num;          ///the value of the number read
int cx;				//the max code lines of the vm
int nerror;           //the number of the errors in all
double m;				//for the real
double fnum;      //the value of the real value the ch read   
char ch;                 //the length of the line read;
char id[maxlen+1];		//the symbol buffer
char a[maxlen+1];		//a momentary buffer		
//char *sym;                //the symbol;
char keyword[keynum][maxlen];
char line[maxline];
char charcode[codenum][5];//only five chars only to save space (max length is fout +'\0')
FILE *fin;
FILE *fout;
FILE *ftab;
FILE *fcode;
char char_buffer;//store the char read;
char char_buffer;//store the char read;
char string_buffer[20];//store the string read
enum symbolset keysym[keynum];
enum symbolset sym;
enum symbolset symset[256];
enum symbolset ssym[256];
struct instruction code[500];
//virtual machine code instruction
//some marco
#define getchdo if(-1==getch()) return -1
#define getsymdo if(-1==getsym()) return -1
//宏定義
// 以簡化do_deal_item
#define do_deal_expression(a,b,c)  if(-1==deal_expression(a,b,c)) return -1
#define do_deal_term(a,b,c) if(-1==deal_term(a,b,c)) return -1
#define do_deal_factor(a,b,c) if(-1==deal_factor(a,b,c)) return -1
#define do_deal_condition(a,b,c) if(-1==deal_condition(a,b,c)) return -1
#define do_deal_var(a,b,c) if(-1==deal_var(a,b,c)) return -1
#define do_deal_constant(a,b,c) if(-1==deal_constant(a,b,c)) return -1
#define do_deal_statement(a,b,c) if(-1==deal_statement(a,b,c)) return -1
#define do_test(a,b,c) if(-1==test(a,b,c)) return -1
#define do_genecode(a,b,c,d) if(-1==genecode(a,b,c,d)) return -1



int genecode(enum vmcode x,int y,struct para p,enum typeset t);
void filltable(enum typeset k,int *ptx,int lev,int *pdx,enum typeset t );
int deal_expression(bool *fsys,int *ptx,int lev);
int deal_term(bool *fsys,int *ptx,int lev);
int deal_factor(bool *fsys,int *ptx,int lev);
int deal_condition(bool *fsys,int *ptx,int lev);
int deal_var(int *ptx,int lev,int *pdx);
int deal_constant(int *ptx,int lev,int *pdx);
int deal_statement(bool *fsys,int *ptx,int lev);
int test(bool *seta,bool *setb,int n);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区日本| 国产日韩av一区二区| 亚洲18色成人| 欧美一区午夜精品| 麻豆免费看一区二区三区| 日韩欧美亚洲一区二区| 九色综合狠狠综合久久| 久久久精品国产免费观看同学| 国产精品18久久久久| 国产精品超碰97尤物18| 色素色在线综合| 日韩国产精品久久| 欧美成人欧美edvon| 成人午夜电影网站| 亚洲午夜三级在线| 26uuu另类欧美亚洲曰本| 国产91精品一区二区麻豆亚洲| 亚洲视频在线观看三级| 欧美精品九九99久久| 国产乱码精品一品二品| 亚洲免费观看在线观看| 日韩一区二区三区电影在线观看| 激情六月婷婷综合| 亚洲天堂精品在线观看| 日韩免费福利电影在线观看| 国产成人精品影院| 亚洲亚洲精品在线观看| 久久精品人人爽人人爽| 欧美亚一区二区| 国产精品系列在线观看| 亚洲成人久久影院| 欧美激情在线一区二区| 91精品国产综合久久福利| 国产69精品久久久久777| 亚洲成年人影院| 国产精品私人自拍| 欧美成人一区二区三区片免费| 色综合中文字幕| 国产综合色精品一区二区三区| 夜夜亚洲天天久久| 欧美国产精品中文字幕| 日韩精品一区二区三区在线| 欧美午夜宅男影院| 成人免费视频一区二区| 看国产成人h片视频| 亚洲一二三四区| 国产精品乱子久久久久| 欧美mv日韩mv| 欧美一区二区视频在线观看2020 | 最新高清无码专区| 久久婷婷成人综合色| 欧美日韩国产片| 日本高清免费不卡视频| 高清shemale亚洲人妖| 久久精品久久99精品久久| 亚洲风情在线资源站| 亚洲区小说区图片区qvod| 国产日韩成人精品| 久久久久免费观看| 欧美精品一区二区三区一线天视频 | 性做久久久久久免费观看| 国产精品成人一区二区三区夜夜夜| 欧美mv日韩mv亚洲| 精品免费国产二区三区| 91精品在线免费观看| 欧美日韩激情一区二区三区| 一本一本大道香蕉久在线精品| 成人免费毛片高清视频| 国产一区二区三区精品视频 | 久久99精品国产| 免播放器亚洲一区| 久久精品二区亚洲w码| 日韩精品视频网站| 日本不卡视频在线| 久久精品国产精品亚洲红杏| 激情综合五月婷婷| 国产成人精品免费视频网站| 国产麻豆成人传媒免费观看| 国产盗摄视频一区二区三区| 国产精品91xxx| 成人白浆超碰人人人人| 99久久久无码国产精品| 日本二三区不卡| 欧美色中文字幕| 欧美一区二区三区的| 日韩欧美一级二级| xfplay精品久久| 国产精品无圣光一区二区| 中文字幕日韩精品一区| 亚洲日本在线观看| 一区二区三区不卡视频 | 综合精品久久久| 一区二区三区在线高清| 午夜国产不卡在线观看视频| 青青草97国产精品免费观看无弹窗版| 日日摸夜夜添夜夜添精品视频 | 成人一二三区视频| 色综合中文字幕| 91精品国产综合久久久蜜臀图片| 欧美电影精品一区二区| 国产亚洲精品aa| 一区二区视频在线| 日本女人一区二区三区| 丰满白嫩尤物一区二区| 在线视频中文字幕一区二区| 欧美电影免费观看高清完整版在线 | 偷窥少妇高潮呻吟av久久免费| 麻豆国产精品一区二区三区 | 亚洲国产另类精品专区| 免费成人在线观看| 99在线精品一区二区三区| 在线播放91灌醉迷j高跟美女 | 国产香蕉久久精品综合网| 亚洲综合色丁香婷婷六月图片| 久久精品72免费观看| 91麻豆高清视频| 精品国产乱码久久久久久免费| 国产精品久久久久久久久免费相片| 五月天中文字幕一区二区| 国产精品亚洲一区二区三区妖精 | 91小视频在线免费看| 日韩欧美不卡在线观看视频| 国产精品久久毛片a| 麻豆精品一区二区三区| 91蜜桃免费观看视频| 欧美xxx久久| 婷婷六月综合网| 99re成人在线| 精品99久久久久久| 亚洲午夜一区二区三区| 成人美女视频在线观看18| 精品少妇一区二区三区视频免付费 | 成人午夜大片免费观看| 91精品国产色综合久久久蜜香臀| 国产精品久久久久aaaa| 激情久久久久久久久久久久久久久久 | 亚洲成av人片一区二区三区| 成人h动漫精品一区二区| 精品伦理精品一区| 午夜精品久久久久久久 | 日本亚洲视频在线| 欧美图片一区二区三区| 日韩美女视频一区| 国产成人精品aa毛片| 欧美xxxxx牲另类人与| 日韩av中文在线观看| 欧美日韩免费观看一区二区三区| 中文字幕在线不卡视频| 国产成人aaa| 国产欧美日韩一区二区三区在线观看| 免费看日韩a级影片| 91精品婷婷国产综合久久竹菊| 亚洲午夜免费福利视频| 91精品福利视频| 亚洲欧美日韩精品久久久久| 波多野结衣在线aⅴ中文字幕不卡| 久久综合一区二区| 国模娜娜一区二区三区| 日韩精品一区二区在线观看| 日本不卡免费在线视频| 欧美人动与zoxxxx乱| 亚洲国产成人tv| 欧美三级日韩三级| 亚洲成人自拍网| 在线综合亚洲欧美在线视频| 视频一区二区不卡| 欧美一区二区三区思思人| 免费在线观看不卡| 日韩视频123| 国产一二精品视频| 国产精品天干天干在线综合| www.欧美亚洲| 亚洲六月丁香色婷婷综合久久| 欧美中文字幕一区二区三区亚洲| 夜夜嗨av一区二区三区网页| 欧美日韩不卡在线| 老司机一区二区| 久久久99久久| 不卡一区在线观看| 亚洲综合清纯丝袜自拍| 欧美军同video69gay| 精品中文字幕一区二区小辣椒 | 欧美亚洲综合网| 日韩精品每日更新| 久久婷婷国产综合国色天香| 成人综合在线视频| 亚洲免费在线观看视频| 欧美另类高清zo欧美| 国产综合久久久久久久久久久久| 国产婷婷色一区二区三区四区| 波多野结衣一区二区三区 | 麻豆精品一二三| 国产精品理论片在线观看| 色综合一区二区| 日韩va欧美va亚洲va久久| 国产亚洲精品超碰| 在线欧美小视频| 韩国v欧美v亚洲v日本v| 综合电影一区二区三区 | 国产一二三精品|