Package EDU.purdue.jtb.analyse
package EDU.purdue.jtb.analyse
-
ClassesClassDescriptionThe
ClassesFinder
visitor creates a list ofUserClassInfo
objects describing every class to be generated.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.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.