14 #pragma varargck type "L" void
16 typedef struct Node Node;
17 typedef struct String String;
18 typedef struct Lsym Lsym;
19 typedef struct List List;
20 typedef struct Store Store;
22 typedef struct Strc Strc;
23 typedef struct Rplace Rplace;
24 typedef struct Ptab Ptab;
25 typedef struct Value Value;
26 typedef struct Type Type;
27 typedef struct Frtype Frtype;
35 Extern Biobuf* io[32];
37 Extern char symbol[Strsize];
38 Extern int interactive;
43 Extern Lsym* hash[Hashsize];
52 Extern List* tracelist;
53 Extern int initialising;
56 extern void (*expop[])(Node*, Node*);
57 #define expr(n, r) (r)->comt=0; (*expop[(n)->op])(n, r);
58 extern int fmtsize(Value *v) ;
92 Extern Ptab ptab[Maxproc];
149 void (*builtin)(Node*, Node*);
172 List* addlist(List*, List*);
174 Node* an(int, Node*, Node*);
175 void append(Node*, Node*, Node*);
178 void call(char*, Node*, Node*, Node*, Node*);
179 void catcher(void*, char*);
180 void checkqid(int, int);
183 List* construct(Node*);
186 void defcomplex(Node*, Node*);
188 void delete(List*, int n, Node*);
190 Lsym* enter(char*, int);
191 void error(char*, ...);
193 void fatal(char*, ...);
194 void flatten(Node**, Node*);
196 char* getstatus(int);
198 void indir(Map*, uvlong, char, Node*);
199 void installbuiltin(void);
202 int listcmp(List*, List*);
204 List* listvar(char*, vlong);
205 void loadmodule(char*);
209 void marklist(List*);
211 void msg(int, char*);
214 void nthelem(List*, int, Node*);
216 void odot(Node*, Node*);
217 void pcode(Node*, int);
221 void pushfile(char*);
223 void readtext(char*);
224 void restartio(void);
225 uvlong rget(Map*, char*);
226 String *runenode(Rune*);
227 int scmp(String*, String*);
229 String* stradd(String*, String*);
230 String* straddrune(String*, Rune);
231 String* strnode(char*);
232 String* strnodlen(char*, int);
234 void trlist(Map*, uvlong, uvlong, Symbol*);
239 Waitmsg* waitfor(int);
241 void windir(Map*, Node*, Node*, Node*);
242 void yyerror(char*, ...);