58 lines
960 B
C
58 lines
960 B
C
struct syl
|
|
{ int op,p1,p2,p3;
|
|
};
|
|
#define RET 1
|
|
#define REVERT 2
|
|
#define GOTO 3
|
|
#define X 4
|
|
#define SLASH 5
|
|
#define STACK 6
|
|
#define I 7
|
|
#define ED 8
|
|
#define NED 9
|
|
#define IM 10
|
|
#define APOS 11
|
|
#define H 12
|
|
#define TL 13
|
|
#define TR 14
|
|
#define T 15
|
|
#define COLON 16
|
|
#define S 17
|
|
#define SP 18
|
|
#define SS 19
|
|
#define P 20
|
|
#define BN 21
|
|
#define BZ 22
|
|
#define F 23
|
|
#define E 24
|
|
#define EE 25
|
|
#define D 26
|
|
#define G 27
|
|
#define GE 28
|
|
#define L 29
|
|
#define A 30
|
|
#define AW 31
|
|
#define O 32
|
|
#define NONL 33
|
|
extern struct syl syl[];
|
|
extern int pc,parenlvl,revloc;
|
|
extern int (*doed)(),(*doned)();
|
|
extern int (*dorevert)(),(*donewrec)(),(*doend)();
|
|
extern flag cblank,cplus,workdone, nonl;
|
|
extern int dummy();
|
|
extern char *fmtbuf;
|
|
extern int scale;
|
|
typedef union
|
|
{ real pf;
|
|
doublereal pd;
|
|
} ufloat;
|
|
typedef union
|
|
{ short is;
|
|
char ic;
|
|
long il;
|
|
} uint;
|
|
#define GET(x) if((x=(*getn)())<0) return(x)
|
|
#define VAL(x) (x!='\n'?x:' ')
|
|
#define PUT(x) (*putn)(x)
|
|
extern int cursor;
|