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 languageXyz
orXYZ
. For parsers for a part of a language, it is recommended to name the generated parsersXyzPartParser
, for non-terminalPart
of languageXyz
orXYZ
. 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.expressions
asexpressions
orexprs
, 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.String
orjava.util.List
.