Package EDU.purdue.jtb.analyse
-
Class Summary Class Description ClassesFinder TheClassesFinder
visitor creates a list ofUserClassInfo
objects describing every class to be generated.GlobalDataBuilder TheGlobalDataBuilder
visitor performs, at the beginning of the JTB processing, some error checking and builds and stores objects needed by other classes: a HashMap (GlobalDataBuilder.notTbcNodesHM
) of JavaCodeProductions whose nodes must be created ("%" syntax) and of BNFProductions whose nodes must not be created ("!" syntax), a HashMap (GlobalDataBuilder.prodHM
) of all JavaCodeProductions and BNFProductions identifiers and their result type, a list (GlobalDataBuilder.retVarInfo
) of return variables declarations (for all non "void" JavaCodeProductions for which the node creation has been asked and BNFProductions for which the node creation has not been forbidden) a HashMap (GlobalDataBuilder.tokenHM
) of tokens which have a constant regular expression, e.g.SemanticChecker TheSemanticChecker
visitor checks and report informations, warnings or errors for the following conditions:
when a JavaCodeProduction is to be generated (warning if return type is non "void", information otherwise) (JTB will alter the code), when a BNFProduction is not to be generated (information), when a to be generated BNFProduction has a return value other than "void" (warning) (JTB will alter the code), when a JavaCodeProduction or a BNFProduction is not to be generated locally but is also not to be generated globally (warning) (as unnecessary), when a JavaCodeProduction or a BNFProduction has a name reserved for an automatically generated JTB class (e.g.