The design and implementation of a specification language type checker
Kopas, Robert George
Berzins, Valdis Andris
MetadataShow full item record
The purpose of this thesis is to design a type checker for the SPEC language and to investigate its implementation using an attribute grammar tool. SPEC is a formal language for writing black-box specifications for large software systems. The type checker is a software tool which verifies the semantic accuracy of the declarations and their uses in a SPEC source program. The design specifically addresses language features which are especially important for large software system specification such as generic parameters, name and operator overloading, subtypes, importation and inheritance. Additional discussion is provided concerning the handling of the "non-block structured" nature of the specification language. This thesis implements two of the three aspects of type checking--name analysis and error reporting. Additionally, a definitive framework is laid for the final aspect, type consistency analysis.
Approved for public release; distribution is unlimited
Showing items related by title, author, creator and subject.
Demurjian, Steven A.; Hsiao, David K. (Monterey, California. Naval Postgraduate School, 1986-02); NPS52-86-011In the past, the design and implementation of a database system has followed a rather conventional approach. First, a specific data model for the database system is chosen. Second, a corresponding model-based data language ...
Benson, Timothy P.; Wentz, Gary L. (Monterey, California; Naval Postgraduate School, 1985-06);Traditionally, the design and implementation of a conventional database system begins with the choice of a data model followed by the specification of a model-based data language. thus, the database system is restricted ...
Moffitt, Charlie Robert. (Monterey, California. Naval Postgraduate School, 1988);While the cost of computing hardware has decreased steadily, the cost of software design, development and, maintenance has increased. One approach to reduce the cost of software development is rapid prototyping. Further, ...