next up previous
Next: Presentation

NewGen: A Language-Independent Program Generator
Report ENSMP/CRI/A-191

Pierre Jouvelot
Rémi Triolet

Jul. 1989, Revised Dec. 90

Abstract:

NewGen is a software engineering tool that helps programmers define and implement sophisticated data types. Data domains are defined with a high level specification language, called DDL, that allows user defined domains to be built over basic domains with operators like Cartesian product, union, list or array.

NewGen analyzes a set of specifications and produces a collection of macros, functions, predicates, and pre-defined constants that enable programs to create, initialize, access, update, and delete objects of these types as if the programming language had been especially tailored to manipulate these data types.

NewGen promotes the ideas of functional abstraction and evolution process as ways to ease the prototyping, development and evolution of applications that use such multi-language program generators. Applications that are developed with NewGen data types can share complex data structures while being written partly in C and partly in CommonLISP, the two currently supported programming languages.

NewGen ideas have been validated in practice; this tool is heavily used for two projects that focus on the development of state-of-the-art parallelization strategies for Fortran programs.

Keywords:

program generation, C, Common Lisp, data type, type checking, prototyping, language extension.




next up previous
Next: Presentation
Fabien COELHO 2003-04-29