GPPL: A Small Block-Structured Imperative Programming Language Implemented Using Ox

Thumbnail Image
Date
1992-12-01
Authors
Bischoff, Kurt
Major Professor
Advisor
Committee Member
Journal Title
Journal ISSN
Volume Title
Publisher
Authors
Research Projects
Organizational Units
Organizational Unit
Computer Science

Computer Science—the theory, representation, processing, communication and use of information—is fundamentally transforming every aspect of human endeavor. The Department of Computer Science at Iowa State University advances computational and information sciences through; 1. educational and research programs within and beyond the university; 2. active engagement to help define national and international research, and 3. educational agendas, and sustained commitment to graduating leaders for academia, industry and government.

History
The Computer Science Department was officially established in 1969, with Robert Stewart serving as the founding Department Chair. Faculty were composed of joint appointments with Mathematics, Statistics, and Electrical Engineering. In 1969, the building which now houses the Computer Science department, then simply called the Computer Science building, was completed. Later it was named Atanasoff Hall. Throughout the 1980s to present, the department expanded and developed its teaching and research agendas to cover many areas of computing.

Dates of Existence
1969-present

Related Units

Journal Issue
Is Version Of
Versions
Series
Department
Computer Science
Abstract

GPPL is a small, block-structured, imperative programming language, for which a compiler, gc, has been built using the Yacc/Lex-based attribute-grammar compiler Ox (see TR#92-30). This paper describes GPPL and gc, and is directed mainly to those who would like to study and modify them. The implementation of GPPL may be considered as an example of the use of attribute grammars in general and as a nontrivial example application of Ox. The syntax of GPPL bears some resemblance to that of C but, being described in only about eighty grammar rules, lacks many C constructs. GPPL's semantics are similar to those of Pascal, with block structure and relatively strict error checking. gc's target language is a very small subset of C. The source code for gc occupies about seventy kilobytes and constitutes about a dozen files. This paper describes GPPL syntax and semantics, gives some example programs, and explains the implementation with reference to the source code, which is included.

Comments
Description
Keywords
Citation
DOI
Source
Copyright
Collections