skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Praxis: The programming language: An advanced overview

Abstract

Praxis is an Ada-like programming language developed for efficient programming of embedded control and systems applications. It is strongly typed, and block structured in the tradition of Pascal and Ada, with efficiency and control similar to C. Praxis supports the development of systems composed of separately compiled modules, user defined data types, exception handling, and detailed data storage and control mechanisms. Direct access to machine facilities, efficient bit manipulation, and interlocked critical regions are also provided in Praxis. Praxis has been in operational use since late 1980, and current implementations for the VAX, PDP and LSI-11 computers have been released into the public domain.

Authors:
; ; ;
Publication Date:
Research Org.:
Lawrence Livermore National Lab., CA (USA)
OSTI Identifier:
6260537
Report Number(s):
UCID-21056
ON: DE87014319
DOE Contract Number:
W-7405-ENG-48
Resource Type:
Technical Report
Resource Relation:
Other Information: Portions of this document are illegible in microfiche products. Original copy available until stock is exhausted
Country of Publication:
United States
Language:
English
Subject:
99 GENERAL AND MISCELLANEOUS//MATHEMATICS, COMPUTING, AND INFORMATION SCIENCE; PROGRAMMING LANGUAGES; DATA ANALYSIS; DEC COMPUTERS; DESIGN; PROGRAMMING; COMPUTERS; 990220* - Computers, Computerized Models, & Computer Programs- (1987-1989)

Citation Formats

Greenwood, J.R., Holloway, F.W., Morgan, C.R., and Evans, A. Jr.. Praxis: The programming language: An advanced overview. United States: N. p., 1987. Web.
Greenwood, J.R., Holloway, F.W., Morgan, C.R., & Evans, A. Jr.. Praxis: The programming language: An advanced overview. United States.
Greenwood, J.R., Holloway, F.W., Morgan, C.R., and Evans, A. Jr.. 1987. "Praxis: The programming language: An advanced overview". United States. doi:.
@article{osti_6260537,
title = {Praxis: The programming language: An advanced overview},
author = {Greenwood, J.R. and Holloway, F.W. and Morgan, C.R. and Evans, A. Jr.},
abstractNote = {Praxis is an Ada-like programming language developed for efficient programming of embedded control and systems applications. It is strongly typed, and block structured in the tradition of Pascal and Ada, with efficiency and control similar to C. Praxis supports the development of systems composed of separately compiled modules, user defined data types, exception handling, and detailed data storage and control mechanisms. Direct access to machine facilities, efficient bit manipulation, and interlocked critical regions are also provided in Praxis. Praxis has been in operational use since late 1980, and current implementations for the VAX, PDP and LSI-11 computers have been released into the public domain.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = 1987,
month = 8
}

Technical Report:
Other availability
Please see Document Availability for additional information on obtaining the full-text document. Library patrons may search WorldCat to identify libraries that may hold this item. Keep in mind that many technical reports are not cataloged in WorldCat.

Save / Share:
  • This document is a detailed introduction and tutorial for the Praxis language. It is meant to serve as an introductory manual for someone who already knows how to program but may not have used a structured language, as well as a reference manual during normal use. Each chapter of the manual discusses a specific aspect of the language, using descriptions of semantic and syntax as well as numerous examples.
  • Although the programmer dealing with systems programming now has a fairly rich choice of programming languages, there is sometimes little guidance other than hearsay about how to choose among them. In this document four high order languages (HOLs) are examined and their features compared, evaluating the ability of each to meet the goals of systems programming. A major purpose of the discussion is to introduce Praxis, a new language, and to compare it with existing languages.
  • A set of simple text input/output routines for Praxis entitled Textio are described. This package allows arrays of characters to be written to/from files and serial I/O devices. It is a straightforward set of definitions and procedures which accomplish reading and writing characters and lines of text. The Textio package is written in Praxis. It interfaces to the particular operating environment via the module Macio. Macio is usually written in the assembly language of the target machine. The data type and Textio definitions are discussed, and the simple and easy to use procedures are described fully. (WHK)
  • This document is a language reference manual for the programming language Praxis. The document contains the specifications that must be met by any compiler for the language. The Praxis language was designed for systems programming in real-time process applications. Goals for the language and its implementations are: (1) highly efficient code generated by the compiler; (2) program portability; (3) completeness, that is, all programming requirements can be met by the language without needing an assembler; and (4) separate compilation to aid in design and management of large systems. The language does not provide any facilities for input/output, stack and queuemore » handling, string operations, parallel processing, or coroutine processing. These features can be implemented as routines in the language, using machine-dependent code to take advantage of facilities in the control environment on different machines.« less
  • This document describes the organization, generation, distribution and archival of the complete Praxis Language System. Included are three compilers and support packages, as well as, the sources to generate these images. Most users want and will only need the binaries and synopses files and need not worry about the source files, and generating a compiler from scratch.