📄 stkmach.h
字号:
#include "symbol.h"
#ifndef STACKMACHINE
#define STACKMACHINE
typedef union Datum {/*interpreter stack type*/
double val;
symrec *sym;
}Datum;
extern Datum pop();
typedef int (*Inst)();/*machine instruction*/
#define STOP (Inst)0
typedef struct Frame { /* proc/func call stack frame */
symrec *sp; /* symbol table entry */
Inst *retpc; /* where to resume after return */
Datum *argn; /* n-th argument on stack */
int nargs; /* number of argument */
} Frame;
extern Inst prog[];
extern eval(), add(), sub(), mul(), divi(), neg(), power();
extern assign(), bltin(), varpush(), constpush(), print();
extern prexpr(), argassign(), funcret(), procret(), call();
extern prstr(), arg(), varread(), define(), defnonly();
extern gt(), lt(), eq(), ge(), le(), ne(), and(), or(), not();
extern ifcode(), whilecode();
extern indef;
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -