Usage hints
Here are some hints on using SeText:
-
It is recommended to name the generated and hooks classes, using the following convention:
XyzScanner,XyzParser,XyzHooks, for the scanner, parser, and hooks classes of a languageXyzorXYZ. For parsers for a part of a language, it is recommended to name the generated parsersXyzPartParser, for non-terminalPartof languageXyzorXYZ. Following these naming conventions ensures consistency in the naming of the classes. -
It is recommended to import the packages that contain the classes used as the types of the non-terminals. For instance, import the expressions package
some.long.package.name.expressionsasexpressionsorexprs, and then use{exprs.SomeClass}as the type for a non-terminal, instead of{some.long.package.name.expressions.SomeClass}. Importing the package instead of the individual classes reduces the number of imports, and also avoids conflicts between non-terminals names and class names. For standard Java types, however, it is recommended to import the full type. For instance, importjava.lang.Stringorjava.util.List.