-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtraverse.h
16 lines (15 loc) · 854 Bytes
/
traverse.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include "std.h"
#include "ast.h"
//void proc_prog(FILE *fp, Program prog);
void proc_prog(FILE *fp, void (*f)(FILE *, Program), Program prog);
void proc_procs(FILE *fp, void (*f)(FILE *, Proc), Procs procs);
void proc_header(FILE *fp, void (*f)(FILE *, Header), Header header);
void proc_params(FILE *fp, void (*f)(FILE *, Params), Params params);
void proc_decls(FILE *fp, void (*f)(FILE *, Decl), Decls decls);
void proc_varnames(FILE *fp, void (*f)(FILE *, VarName), VarNames varnames);
void proc_type(FILE *fp, void (*f)(FILE *, VType), VType type);
void proc_statements(FILE *fp, void (*f)(FILE *, Stmts), Stmts stmts);
void proc_statement(FILE *fp, void (*f)(FILE *, Stmt), Stmt stmt);
void proc_expressions(FILE *fp, void (*f)(FILE *, Exprs), Exprs exprs);
void proc_expression(FILE *fp, void (*f)(FILE *, Expr), Expr expr);