Browse Prior Art Database

PROGEN - Program Generator

IP.com Disclosure Number: IPCOM000116708D
Original Publication Date: 1995-Oct-01
Included in the Prior Art Database: 2005-Mar-31
Document File: 2 page(s) / 46K

Publishing Venue

IBM

Related People

Bertsch, H: AUTHOR

Abstract

The Programm Generator PROGEN generates interpreter and state machine source code based on the formal definition of languages, states or events including the belonging functions. PROGEN needs no prerequisites for the generation.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 68% of the total text.

PROGEN - Program Generator

      The Programm Generator PROGEN generates interpreter and state
machine source code based on the formal definition of languages,
states or events including the belonging functions.  PROGEN needs no
prerequisites for the generation.

      The well-known presentation of syntactical structure consisting
of terminals (tokens) and nonterminals is the Backus-Naur-Form (BNF).
Using the extended Backus-Naur-Form, the association of functions is
realized by inserting the function names at those places in the BNF,
where the activation should be performed.  Looking at states, the
actual state and the event invoke special functions and generate the
following-on state transition.  This method leads to a formal and
modular description of state machines, command languages, etc.

      PROGEN uses two input files for the generation.  The first is
the extended Backus-Naur-Form, the second contains the source code or
module calls for the function names, defined within the extended BNF.
The generation output is the whole package with main module,
interpreter, scanner and semantic functions.

      The interpreter or parser works based on the generated internal
representation of the BNF, which is a special data structure for the
formal definition.  Different formal definitions produce different
underlying data structure.  The code of the parser will be the same.
The second possibility is to generated special parser code for each
formal BNF...