( this overview is under construction, please contribute! ) ---+++ .def =Foo.def= is an SDF *definition*. An SDF definition is stored in a .def file and is just a bundle of all SDF modules (.sdf) that are imported directly or indirectly from some main module. An SDF syntax definition is thus a closure of SDF modules. ---+++ .meta =Foo.meta= contains meta information about a Stratego module =Foo.str=. The most common meta information is the syntax that is used by the Stratego module ---+++ .pp Pretty print table. Generated by ppgen. ---+++ .pp.af Parsed pretty print table ---+++ .r =.r= is a deprecated file extension for a Stratego module. It has been replaced by =.str=. ---+++ .rtg Abstract syntax definition in RTG. ---+++ .sdf =Foo.sdf= is an SDF *module*. A syntax definition can be split into several modules, and these modules can be in separate files. SDF modules use the .sdf file extension. SDF modules can be packed into an SDF *definition* with pack-sdf. ---+++ .str =Foo.str= is a Stratego module. A Stratego modules can define strategies and rules. A Stratego module can be compiled with [[%MANUAL%/ref-strc.html][strc]] or it can be interpreted with stri, part of the StrategoShell. ---+++ .tbl =Foo.tbl= is a parse table for SGLR. A parse table can be generated from a SDF definition (.def) with [[Sdf.SdfToTable][sdf2table]]. The parse table can be used for parsing by passing it to SGLR with the =-p= argument.