Abstract: A method of generating code for a software program in multiple languages by converting input specification files into output code files. The input specification files contain a list of distinctive features of the software program to be generated and are written in a prescribed input language. The input specification files are converted into a set of nodes representing the logical relationship between the distinctive features listed in the input specification files. Output code files are then generated from the set of nodes using external guideline files that contain guidelines for generating code. Output code files are generated in at least two code languages.