PEG: a programming environment generator
Abstract
Integrated piogramming enviionments play an im portant role in making the software
development process easier and more efficient. Since there exist a number of programming
languages, it is necessary to provide programmers the same user interface. This has led
to the development of programming environment generators.
The existing programming environment generators are based on the structure editing
model. The structure editing model restricts the progranmaer’s freedom to edit a file. We
have implemented a programming environment generator (named as the PEG system)
which supports the text model of editing. The editor generated by PEG has an in-b\iilt
lexical analyzer and it maintains the text in the form of a linear linked list of tokens.
We have proposed an incremental parsing method based on recursive descent parsing.
The parser generator of the PEG system is based on this method (namely, Incremental
Recursive Descent Parsing). This method is applicable for LL(1) grammars.
We have used the attribute grammar based approach for semantic analysis. The
incremental attribute evaluator module of the PEG system generates recursive procedures
for the evaluation of attributes. It is applicable to ordered attribute grammars. We have
suggested how the AG-approach can be efficiently used for code generation also.
Using the PEG system we have generated incremental programming environments
for subsets of Pascal. We have evaluated their performance which has been found to be
encouraging.

