Programming Language Specification
Raymond Turner · 2009
Cited by 0
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 4,140 papers for “Programming language specification”
Raymond Turner · 2009
Cited by 0
Peter Sestoft · Lecture notes in computer science · 2018
Cited by 2Open access
A Hoogewus · Ghent University Academic Bibliography (Ghent University) · 1995
Cited by 0
Ronald Lange, H. Cheeseman, Eli Davis et al. · 1977
Abstract : This specification defines a procedure-oriented language with emphasis on parallel arithmetic and associative processing features. The meanings of the more common operations on scalars are promoted to multiple element data organizations. Data types and structures are provided to support these operations, and the structured design and programming disciplines. The language is designed to be useful with the Goodyear Aerospace Corporation STARAN computer system. However, no feature of the language is strictly dependent on the STARAN architecture for proper execution. (Author)
Cited by 1
NASA STI Repository (National Aeronautics and Space Administration)
HAL accomplishes three significant objectives: (1) increased readability, through the use of a natural two-dimensional mathematical format; (2) increased reliability, by providing for selective recognition of common data and subroutines, and by incorporating specific data-protect features; (3) real-time control facility, by including a comprehensive set of real-time control commands and signal conditions. Although HAL is designed primarily for programming on-board computers, it is general enough to meet nearly all the needs in the production, verification and support of aerospace, and other real-time applications.
Cited by 0Open access
James F. Power · Dublin City University Open Access Institutional Repository (Dublin City University) · 1994
Formal specification has become increasingly important in software engineering, both as a design tool, and as a basis for verified software design. Formal methods have long been in use in the field of programming language design and implementation, and many formalisms, in both the syntactic and semantic domains, have evolved for this purpose. \n \nIn this thesis we examine the possibilities of integrating specifications written in different formalisms used in the description of programming languages within a single framework. We suggest that the theory of institutions provides a suitable background for such integration, and we develop descriptions of several formalisms within this framework. While we do not merge the formalisms themselves, we see that it is possible to relate modules from specifications in each of them, and this is demonstrated in a small example.
Cited by 0Open access
2015
Cited by 0
Volodymyr Protsenko · NaUKMA Research Papers Computer Science · 2023
A simple procedural programming language is considered, each program of which can input integer values, process them and output new integer values as result. A program is a block with description of local integer variables and procedures and a list of statements. The language has data processing statements: assignment, input, output, conditional, loop, procedure call and block. Main purpose of the block is to enter local data (integer variables and procedures) that are used in the body of the block – a list of operators. The scope of the name of the local data described in the block is the text of the block except for nested blocks, where this name is redefined. A mechanism of automatic memory allocation for variables entered in the block is also associated with the block. Memory for local variables is allocated when entering a block, and freed when exiting a block. A block containing only a list of statements is valid. The procedure has a name, list of formal parameters, and a body – a statement (most often a block). Formal parameters are applied only in its body. A procedure is calculated by the procedure call statement, whose actual parameters are only variables. Parameters are passed by reference (pass-by-reference).A formal specification of a programming language is a description of its syntax and semantics. A concrete syntax, finite set of rules, singles out syntactically correct sequences of symbols of the alphabet of language. To describe the semantics of a language, as a rule, abstract syntax is used, adding contextual conditions to it. The task of semantics is to introduce the denotations (“meanings”) of the basic constructions of language and semantic functions that build the denotations of complex syntactic constructions based on the denotations of their components, including the program.The article provides a specification of a procedural programming language that uses the extended Backus-Naur form to describe a concrete syntax, and the tools of the functional language Haskell to describe other parts. Abstract syntax is defined by the types Program, Proc, Stmt, Expr and Op. Additional contextual conditions are predicates that use information about program data. Most of the context conditions are related to the correct use of data in the program. The leading predicate that checks the context conditions of the program pr is iswfProgram pr.The language denotations are based on the Work type. The value of this type – a tuple (inp, stg, out) models the environment in which the language program is executed: inp - input data, stg – memory containing variable values, out – resulting data. The semantics of main constructions procedure, statement and expression are functions of the type Work -> Work or Work -> Integer. The semantics of the program is a function of the type [Integer] -> [Integer]. Semantic functions build these denotations according to syntactic constructions, which are described by abstract syntax – Proc, Stmt, Expr, Program types. The semantics of the program (Program) pr is built by function iProgram pr.All functions: contextual conditions, denotations and semantic functions are pure functions. Using Haskell tools, a function called parsePLL is built, which connects concrete and abstract syntax. It is shown how by combining the functions parsePLL, iswfProgram and iProgram you can get a procedural language – a pure function with the name interpret.
Cited by 0Open access
Levi J. Carey, Kroger,Al E., Shaw,Christopher J. · Defense Technical Information Center (DTIC) · 1967
The document contains a complete specification of the Space Programming Language (SPL) in Backus-Naur form. A description of basic SPL and extensions is given. SPL is a space application language with a large array of capabilities. It is further an extendable language with punctuation rules and vocabulary designed for ease of learning and programming. (Author)
Cited by 0
Gilad Bracha · 2009
This document is a draft specification. It is incomplete, and everything is subject to change. Please ensure you are reading the latest draft. Certain language features described herein have not been implemented; in other cases,
Cited by 0
1980
Cited by 0
2015
Cited by 0
Mikhail Barash, Yulia Startsev · The Journal of Object Technology · 2026
Cited by 0Open access
Ricardo Scucuglia Rodrigues da [UNESP] Silva · LA Referencia (Red Federada de Repositorios Institucionales de Publicaciones Científicas) · 2015
Safety critical systems are systems where its failures can cause irreparable damage for this reason the development of safety critical systems involves safety issues and require rigorous validation in the certification process. Certification processes are expensive and lengthy to follow laws and rigorous rules. With the continuous evolution provided by general purpose programming languages, ease of learning, and the use of these languages in industry and academy, researches have been performed aiming to adapt general purpose programming languages for use in safety-critical applications. The purpose of these adaptations is to reduce the scope of commands found in general purpose languages in order to develop safety critical systems, for example, to avoid or reduce the use of recursions. Some examples of these adaptations include the Real Time Specification for Java (RTSJ), developed in 1998 and Safety Critical Java. SCJ uses objects and concepts defined by the RTSJ focusing on the development of safetycritical applications. In SCJ, the concept of missions is deployed where each mission consists of schedulable objects defined by the RTSJ. The portability of a Java application is one of the main factors for choosing this language. However, there is great difficulty in finding virtual machines for embedded safety-critical systems, therefore it is difficult to benefit from the portability provided by the Java virtual machine in this context. Nevertheless, an application developed in the C++ programming language can be executed directly on the device without using a virtual machine. This work presents a translation of the Safety Critical Java to the C++ programming language, maintaining the behaviour of objects that implement the concept of missions for SCJ in C++. This enables the execution of safety-critical applications in embedded devices without the use of a virtual machine.
Cited by 0Open access
Cláudio Naoto Fuzitaki, Paulo Blauth Menezes, Júlio P. Machado et al. · The Journal of Supercomputing · 2006
Cited by 0
Andrew P. Black, Kim B. Bruce, James Noble · PDXScholar (Portland State University) · 2013
This is a specification of the Grace Programming Language. This spec-ification is notably incomplete, and everything is subject to change. In particular, this version does not address: • collection syntax and collection literals
Cited by 3Open access
Nina Sakhnini, Venkata N Inukollu, Joseph E. Urban · 2016
Automatic programming can be defined as developing software in a high abstraction level. The definition of automatic programming is not precise because what is meant by automatic programming is changing over time. The goal of automatic programming has the programmer set the specifications of a program and the computer generate the source code of that program. There exists a group of specification languages that vary in their properties; the Descartes specification language is known to be comprehensible and easily constructible. Descartes represents the specifications by defining a system's inputs and outputs, as well as the relationship between these as functions. Descartes has been extended to support concurrent systems. These features made Descartes to be a good basis to build this research effort on. This research effort studied automatic programming approaches and created a shortcut between specifications and implementation with all its benefits. This research created a way to transform Descartes specifications into C source code automatically. Automatic programming can apply to all fields of knowledge that can be automated; therefore, the scope of this research project was restricted to a few case studies that involve parallel programming.
Cited by 1
Pieter Koopman, M.C.J.D. van Eekelen, M.J. Plasmeijer · Software Practice and Experience · 1995
Abstract This paper advocates the use functional programming languages for the formal specification of (abstract) machines. The presented description method describes machines by a two‐level model. At the bottom layer machine components and the micro instructions to handle them are described by using an abstract data type. The top layer describes the machine instructions in terms of these micro instructions. Using a functional language as specification language has several advantages. The abstraction mechanisms offered by a functional programming language are that good that one can abstract from irrelevant details as is required for a specification language. Functional languages have a well‐defined semantics such that the meaning of the specification is clear as well. Moreover, they offer the advantages of a programming language: the compiler can check the specification for partial correctness, eliminating for example type errors and unbound identifiers (errors which occur in many published descriptions). Furthermore, the specification can be executed such that one obtains a prototype implementation almost for free. Such an executable formal specification can, for instance, be used to investigate the dynamic behaviour of the described machine. For a simple machine, the proposed description method is compared with several other description methods: a traditional style, a denotational semantics and a formal specification in the language Z. To show that the proposed method is indeed useful to describe large and complicated machines, the method is applied for the specification of an abstract imperative graph rewrite machine (the ABC‐machine) which has been used in the construction of the compiler for the functional language Concurrent Clean.
Cited by 7
A. S. M. Sajeev · 1997
Parallel Programming is significantly more complex than sequential programming because the programmer has the additional task of specifying processes, their communication and synchronization. Within the context of a visual environment we propose a two-level approach to parallel programming. The first level is the specification of a pattern encapsulating process creation and communication, and the second level is the use of patterns for parallel programming. This approach encourages reuse of patterns, and has the additional advantage that programmers who are experts in parallel programming can create patterns to be used by others who can concentrate on the sequential aspects of the program. Patterns can be extended to develop other patterns through the mechanism of object-inheritance 1 Introduction Visual programming languages have the potential to reduce the complexity of programming by providing visual means for program creation [1]. A number of visual programming languages exists, ...
Cited by 0
K. Kabi Khanganba, Girish Nath Jha · 2020
K. Kabi Khanganba, Girish Jha. Proceedings of the 1st Conference of the Asia-Pacific Chapter of the Association for Computational Linguistics and the 10th International Joint Conference on Natural Language Processing: Student Research Workshop. 2020.
Cited by 0Open access