📄 pl.h
字号:
#include <iostream.h>
#include <fstream.h>
#include <string.h>
#include <stdio.h>
#define norw 13
//#define txmax 100
#define nmax 14
#define al 10
#define amax 2047
#define levmax 3
#define cxmax 200
enum symbol {
nul, number, plus, minus, times,
slash, eql, lparen, rparen,
};
#define symnum 8
enum fct{lit,opr,lod,sto,cal,inte,jmp,jpc};
#define fctnum 8
struct instruction
{
enum fct f;
int l;
int a;
};
ofstream fas;
ofstream fa;
ofstream fa1;
ofstream fa2;
bool listswitch;
bool tableswitch;
char ch;
enum symbol sym;
//
int num;
int cc,ll;
int cx;
char line[81];
char a[al+1];
struct instruction code[cxmax];
enum symbol wsym[norw];
enum symbol ssym[256];
char mnemonic[fctnum][5];
//
ifstream fin;
ofstream fout;
char fname[al];
int err;
#define getsymdo if(-1==getsym()) return -1
#define getchdo if(-1==getch())return -1
#define testdo(a,b,c) if(-1==test(a,b,c))return -1
#define gendo(a,b,c) if(-1==gen(a,b,c)) return -1
#define expressiondo(a,b,c) if(-1==expression(a,b,c)) return -1
#define factordo(a,b,c) if(-1==factor(a,b,c)) return -1
#define termdo(a,b,c) if(-1==term(a,b,c)) return -1
#define conditiondo(a,b,c) if(-1==condition(a,b,c)) return -1
#define statementdo(a,b,c) if(-1==statement(a,b,c)) return -1
#define constdeclarationdo(a,b,c) if(-1==constdeclaration(a,b,c)) return -1
#define vardeclarationdo(a,b,c) if(-1==vardeclaration(a,b,c))return -1
void error(int n);
int getsym();
int getch();
void init();
int gen(enum fct x,int y,int z);
//int test(bool *s1,bool *s2,int n);
//int inset(int e,bool* s);
//int addset(bool* sr,bool* s1,bool* s2,int n);
//int subset(bool* sr,bool* s1,bool* s2,int n);
//int mulset(bool* sr,bool* s1,bool* s2,int n);
//int block(int lev,int tx,bool* fsys);
void interpret();
//int factor(bool* fsys,int * ptx,int lev);
int factor();
//int term(bool* fsys,int *ptx,int lev);
int term();
//int condition(bool* fsys,int *ptx,int lev);
//int expression(bool* fsys,int *ptx,int lev);
int expression();
//int statement(bool* fsys,int *ptx,int lev);
//void listcode(int cx0);
void listcode();
//int vardeclaration(int *ptx,int lev,int *pdx);
//int constdeclaration(int *ptx,int lev,int *pdx);
//int position(char* idt,int tx);
//void enter (enum object k,int* ptx,int lev ,int * pdx);
//int base(int l,int *s ,int b);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -