Scripts can make use of recursion to access the relations and attributes of supertypes. As I write this, Codegen scripts use a rather ugly, but simple, syntax. Meta-content is the term I use for the commands embedded in scripts to direct the traversal of, and access to, the model. Scripts begin in literal content by default. Use whichever is more convenient.
Literal content is always copied as-is to the output file, whitespace and all.
Meta-content looks more like a normal programming language, and until I write some better documentation, the best advice is to look at the .cgs files included with this project to get an idea of what they can do. For instance, keywords in scripts are all-caps, and attribute names are lowercase. Semgen was developed in October 1998 during my undergraduate thesis project which involved writing a compiler for a language that we were making up as we went along. As the project progressed, it became clear that the Semgen program itself could benefit from the same code generation. After all, Semgen was, in a sense, a compiler which translated model descriptions into Eiffel.