2 ** Copyright (C) University of Virginia, Massachusetts Institue of Technology 1994-2001.
3 ** See ../LICENSE for license information.
6 # ifndef USYMTAB_INTERFACE_H
7 # define USYMTAB_INTERFACE_H
9 extern void doDeclareConstant (constDeclarationNode, bool);
10 extern void doDeclareVar (varDeclarationNode, bool);
11 extern void doDeclareType (typeNode, bool);
12 extern void doDeclareFcn (fcnNode p_f, typeId p_tn, bool p_priv, bool p_spec);
13 extern void declareIter (iterNode p_iter);
15 extern void declareConstant (constDeclarationNode);
16 extern void declareVar (varDeclarationNode);
17 extern void declareType (typeNode);
18 extern void declareFcn (fcnNode p_f, typeId p_t);
20 extern void declarePrivConstant (constDeclarationNode);
21 extern void declarePrivVar (varDeclarationNode);
22 extern void declarePrivType (typeNode);
23 extern void declarePrivFcn (fcnNode p_f, typeId p_t);
25 # define declareConstant(c) doDeclareConstant(c, FALSE)
26 # define declareVar(c) doDeclareVar(c, FALSE)
27 # define declareType(c) doDeclareType(c, FALSE)
28 # define declareFcn(f, t) doDeclareFcn(f, t, FALSE, TRUE)
30 # define declarePrivConstant(c) doDeclareConstant(c, TRUE)
31 # define declarePrivVar(c) doDeclareVar(c, TRUE)
32 # define declarePrivType(c) doDeclareType(c, TRUE)
33 # define declarePrivFcn(f, t) doDeclareFcn(f, t, TRUE, TRUE)
36 # error "Multiple include"