7 research outputs found
AN ENVIRONMENT FOR ENGINEERING EXTENDED AFFIX GRAMMAR ENVIRONMENTS
Existing formalisms for the specification of programming environments are complex and
strongly biased by the problems of environment generation. It has been investigated
whether a simple two-level grammar, describing a programming language, can be used
without further modification for the generation of an environment for that language.
We believe that there is enough information in most language definitions - albeit
implicitly - to generate most of the tools used in syntax-directed editors.
This paper proposes some simple and elegant improvements in the use of place-
holders and templates, and in the unparsing mechanism. Although the improvements
are implemented in a completely newly designed prototype they can also be applied to
existing syntax-directed editors to improve their workability
A pretty-printer for every occasion
Tool builders dealing with many different languages, and language designers require sophisticated pretty-print techniques to minimize the time needed for constructing and adapting pretty-printers. We combined new and existing pretty-print techniques in a generic pretty-printer that satisfies modern pretty-print requirements. Its features include language independence, customization, and incremental pretty-printer generation. Furthermore, we emphasize that the recent acceptance of XML as international standard for the representation of structured data demands flexible pretty-print techniques, and we demonstrate that our pretty-printer provides such technology
Recommended from our members
Java style guide and pretty-printer
The Java programming language is a recent entry in the family of object-oriented languages and like all new languages has yet to achieve widespread standardization of coding styles for the unique aspects it possesses. This paper and project address this issue by presenting a complete and rationalized style guide for Java and a pretty-printing tool written in the Java language with which developers may format their Java source code to a single style. Topics cover the range from high-level formatting constructs to low-level token spacing and address the issues of both legacy and new styles
An integrated programming environment for pseudo-code development, IPE-PC
An Integrated Programming Environment, IPE-PC, that supports pseudo-code development has been designed and implemented. This environment is based on a Pascal-like language which is designed according to the requirements of a language-based environment. The nucleus of IPE-PC is a language-based editor which represents programs as graphs internally. The same representation is used in every mode of the environment (i.e., editing, compilation, execution, debugging and translation). The system provides facilities to take advantage of both top-down and bottom-up programming. Stepwise refinement has been supported by providing comment structures that can be transformed into procedures. Bottom-up programming is supported because it is possible to create and save program segments which can be inserted to the programs at the appropriate points --Abstract, page ii
Recommended from our members
Higher-order transformation and the distributed data problem.
The distributed data problem, is characterized by the desire to bring together semantically related data from syntactically unrelated portions of a term. Two strategic combinators, dynamic and transient, are introduced in the context of a classical strategic programming framework. The impact of the resulting system on instances of the distributed data problem is then explored
The development of a program analysis environment for Ada: Reverse engineering tools for Ada
The Graphical Representations of Algorithms, Structures, and Processes for Ada (GRASP/Ada) has successfully created and prototyped a new algorithm level graphical representation for Ada software, the Control Structure Diagram (CSD). The primary impetus for creation of the CSD was to improve the comprehension efficiency of Ada software and thus improve reliability and reduce costs. The emphasis was on the automatic generation of the CSD from Ada source code to support reverse engineering and maintenance. The CSD has the potential to replace traditional prettyprinted Ada source code. In Phase 1 of the GRASP/Ada project, the CSD graphical constructs were created and applied manually to several small Ada programs. A prototype (Version 1) was designed and implemented using FLEX and BISON running under the Virtual Memory System (VMS) on a VAX 11-780. In Phase 2, the prototype was improved and ported to the Sun 4 platform under UNIX. A user interface was designed and partially implemented. The prototype was applied successfully to numerous Ada programs ranging in size from several hundred to several thousand lines of source code. In Phase 3 of the project, the prototype was prepared for limited distribution (GRASP/Ada Version 3.0) to facilitate evaluation. The user interface was extensively reworked. The current prototype provides the capability for the user to generate CSD from Ada source code in a reverse engineering mode with a level of flexibility suitable for practical application
A function-key driven syntax-directed editor for software systems design
A project report submitted to the Faculty of Engineering,
University of the Witwatersrand, Johannesburg in partial
fulfillment of the requirements for the degree of Master of
Science in Engineering.Program Description Language (PDL) is a high-level design
language used for both hardware and software systems design. Due
to the clerical effort involved in creating such a structured
program, however, the PDL design is usually bypassed, and coding
performed directly. The syntax-directed PDL generator package
presented here, written in Pascal for the IBM-PC, is aimed at
providing a tool for producing syntactically correct PDL programs
with the minimum of effort. Function keys are used extensively
for specifying system inputs, and PDL keywords are inserted via
construct templates. Syntactical correctness is always enforced
while indentation or prettypriuting is automatic. This userfriendly
PDL editor thus encourages a top-down iterative design
approach while automatically performing syntax and partial
semantic error detection. It is believed that this much needed
tool will not only promote high-level design principles, but also
serve as the basis for automatic code generation for commonly
used programming languages