22 research outputs found
Recommended from our members
Data representation and synthesis
This research concerns the problem of specifying the information relationships and their transformations included, explicitly and implicitly, in any problem-solving procedure. Our view of data representation is that problem representations (in a problem domain) are mapped to a machine representation (in an implementation domain) through various modelling representations (in modelling domains). Modelling domain representations make easier the discovery of acceptable implementation representations. We propose to focus on the study of mappings of data representations and their transformations from the modelling to implementation domains. Specifically, our goal is to answer four questions:1) what are appropriate formalisms for describing modelling domains and implenentation domains,2) what knowledge exists of each of these domains and how can this knowledge be represented in our formalisms,3) how do we map specific representations from one domain to the other, and4) how can we test the completeness of our formalisms and mapping process.In answering the fourth question, we propose to construct an interactive system for generating alternative implementation domain representations from a modelling domain representation and selecting that which comes closest to the user's desired program performance criteria in an actual programming context
O efikasnosti računarskih programa
U radu su prikazani i razmotreni glavni faktori koji utiču na efikasnost programa napisanih u nekom od programskih jezika visokog nivoa. Posebno je istaknut značaj i uticaj programskih jezika i njihovih procesora
A Visual aide for designing regular expression parsers
This paper describes a thesis project in which a visually-oriented design utility is constructed in Interlisp-D for the Xerox 1108 Artificial Intelligence Workstation. This utility aids in the design of Regular Expression Parsers by visually simulating the operation of a parser. A textual program, suitable for utilization in the construction of a compiler scanner or other similar processor may be produced by the utility
An Estelle compiler
The increasing development and use of computer networks has necessitated international standards to be defined. Central to the standardization efforts is the concept of a Formal Description Technique (FDT) which is used to provide a definition medium for communication protocols and services. This document describes the design and implementation of one of the few existing compilers for the one such FDT, the language "Estelle" ([ISO85], [ISO86], [ISO87])
Specification and verification of context conditions for programming languages
Bibliography: p. 204-211.Context conditions - also called static semantics - are the constraints on computer programs that cannot be reasonably expressed by a context-free grammar, but that can be statically checked without considering the execution properties - semantics - of the program. Such conditions tend to be arbitrary and complex. This thesis presents a new specification formalism called CFF/AML. This formalism is · designed to be both useful for the specification of programming languages to an environment generator and also simple to use. The driving insight behind CFF/AML is that a language specifier conceives of the context condition checks associated with a programming language syntax description in procedural terms. CFF/AML supports this view of context condition specification, thus simplifying the task of the language specifier. CFF/AML has been formally by constructing a temporal proof system for the metalanguage. This proof system can also be used to verify CFF/AML specifications. The construction of the temporal proof system for CFF/AML uncovered a deficiency in the existing theory, namely that there was no way to prove subprograms, especially recursive subprograms, correct. The theory was extended to handle recursive subprograms. The approach developed in this thesis allows recursive subprograms to be proven correct using the same approach as was used previously for iterative constructs. This thesis makes a number of contributions to Computer Science. An approach to language specification - CFF/AML - is developed that greatly reduces the problems associated with building a language specification for input to a programming language environment generator. The theory of temporal proof systems is extended to include a methodology for handling proofs of recursive subprograms. A formal description of the CFF/AML metalanguage has been developed using temporal logic as the framework for the description. This is the first attempt to use temporal logic for such a task. As CFF/AML constructs can be dynamically scoped, this development differs from that required for statically scoped languages. We have also used this temporal proof system formally to prove that context condition specifications are correct. These proofs are an advancement on earlier work in the field of formal reasoning about context condition specification as they allow formal proof of the correctness of evaluations, as well as proving termination
The language parallel Pascal and other aspects of the massively parallel processor
A high level language for the Massively Parallel Processor (MPP) was designed. This language, called Parallel Pascal, is described in detail. A description of the language design, a description of the intermediate language, Parallel P-Code, and details for the MPP implementation are included. Formal descriptions of Parallel Pascal and Parallel P-Code are given. A compiler was developed which converts programs in Parallel Pascal into the intermediate Parallel P-Code language. The code generator to complete the compiler for the MPP is being developed independently. A Parallel Pascal to Pascal translator was also developed. The architecture design for a VLSI version of the MPP was completed with a description of fault tolerant interconnection networks. The memory arrangement aspects of the MPP are discussed and a survey of other high level languages is given