File Extensions

Stratego -- Strategies for Program Transformation
( 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 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 sdf2table. The parse table can be used for parsing by passing it to SGLR with the -p argument.