class PARSE < $PARSE |
---|
**** | The phase in which all files are parsed and tree forms built. This phase catches both syntactic errors and multiply defined classes. |
$PARSE | CS_COMPONENT |
attr convert_all:BOOL; |
---|
**** | true if all files are to be converted to 1.1 |
attr convert_files:FSET{STR}; |
---|
**** | Files needed to convert to 1.1 syntax |
attr has:FMAP{STR,STR}; |
---|
**** | Files containing classes given by -has |
attr known_files:FSET{STR}; |
---|
**** | Files that we know all classes by -has |
attr parsed:FSET{STR}; |
---|
**** | Table of already parsed files. |
attr version_1_0:BOOL; |
---|
**** | true if Sather 1.0 source is compiled |
attr convert_all:BOOL; |
---|
**** | true if all files are to be converted to 1.1 |
attr convert_files:FSET{STR}; |
---|
**** | Files needed to convert to 1.1 syntax |
attr has:FMAP{STR,STR}; |
---|
**** | Files containing classes given by -has |
attr known_files:FSET{STR}; |
---|
**** | Files that we know all classes by -has |
attr parsed:FSET{STR}; |
---|
**** | Table of already parsed files. |
attr version_1_0:BOOL; |
---|
**** | true if Sather 1.0 source is compiled |
create(p:PROG):SAME |
---|
parse(f:STR) |
---|
tree_for(nm:IDENT, num:INT):AS_CLASS_DEF |
---|
**** | Return the code tree for the class with name `nm' and the number of type parameters `num'. Return void if no such class. |
dup_class_err(this_class,other_class:AS_CLASS_DEF) |
---|
attr missing_classes: FSET{STR}; |
---|
**** | Names of classes which were not found. |
attr missing_classes: FSET{STR}; |
---|
**** | Names of classes which were not found. |
perform_parse(f:STR) |
---|
**** | Tell the parser to parse the file `f', put the tree in `as_tbl'. |