Specification methods for describing programming languages have been traditionally geared towards facilitating compiler generation. Such techniques usually involve context-free grammars that describe programming languages as sets of strings over their alphabet. Consequently the rate of progress in the development of tools supporting program creation has been relatively slow-programs are not text and their development requires tools that understand their structures and present the programmer with a visual view of such structures. This paper provides an overview of a specification technique for programming languages that yields to the automatic generation of programmer support tools providing the programmer with the needed visualization and allowing the visual creation and modification of the programs. The implementation of the generator system and a formal specification of its interface allowing specification of any target language is discussed.