skip to main content
10.1145/800168acmconferencesBook PagePublication PagespoplConference Proceedingsconference-collections
POPL '76: Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
ACM1976 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
Atlanta Georgia January 19 - 21, 1976
ISBN:
978-1-4503-7477-4
Published:
01 January 1976
Sponsors:
Next Conference
January 19 - 25, 2025
Denver , CO , USA
Bibliometrics
Abstract

No abstract available.

Skip Table Of Content Section
Article
Free
The influence of productions on derivations and parsing (Extended Abstract)

The concept of grammar forms [4,5] provides evidence that there seems to be no way to base the definitions of many grammar types used in parsing and compiling solely on the concept of productions.

Strict interpretations, as introduced in [3,5], of ...

Article
Free
A complexity theory of grammar problems

The close relationship between programming language syntax, context-free grammars (abbreviated cfgs), parsing, and compiling is well-known and is extensively discussed in [1]. Unfortunately, many of the problems about programming languages, one might ...

Article
Free
Code generation for expressions with common subexpressions (Extended Abstract)

Easy as the task may seem, many compilers generate rather inefficient code. Some of the difficulty of generating good code may arise from the lack of realistic models for programming language and machine semantics. In this paper we show that the ...

Article
Free
Automatic generation of efficient evaluators for attribute grammars

The translation process may be divided into a syntactic phase and a semantic phase. Context-free grammars can be used to describe the set of syntactically correct source texts in a formal yet intuitively appealing way, and many techniques are now known ...

Article
Free
Automatic design of data processing systems

An automated business data processing system designer is described. Attention is centered on the I/O aspects of such systems and the development of optimizing design heuristics.

The design of data organization and data accessing procedures for data ...

Article
Free
Techniques for the automatic selection of data structures

We are all aware of the development of increasingly sophisticated, elaborate, and expensive computer programs, particularly in the fields of artificial intelligence, data base management, and intelligent systems. The need for techniques to deal with ...

Article
A methodology for LISP program construction from examples

This paper reports on a system, THESYS, that synthesizes LISP recursive programs from examples of what they do. There has been recent interest in this form of program specification[1,4,8]. The theory of such inductive systems has been investigated by ...

Article
Free
Binding time optimization in programming languages: Some thoughts toward the design of an ideal language

A new approach to the design of a programming language and its processor is proposed and some of the techniques necessary to realize the design are investigated. The language would have a precisely specified syntax and semantics, with both designed to ...

Article
Free
A lazy evaluator

A different way to execute pure LISP programs is presented. It delays the evaluation of parameters and list structures without ever having to perform more evaluation steps than the usual method. Although the central idea can be found in earlier work ...

Article
Free
Induction variables in very high level languages

We explore the notion of an induction variable in the context of a set-theoretic programming langugage. An appropriate definition, we believe, involves both the necessity that changes in the variable around a loop be easily computable and that they be ...

Article
Free
An algorithm for structuring programs (Extended Abstract)

Structured programming emphasizes programming language constructs such as while loops, until loops, and if then else statements. Properly used, these constructs make occurrences of loops and branching of control obvious. They are preferable to goto ...

Article
Free
On directly constructing LR(k) parsers without chain reductions

A chain production is a production of the form A→M where A is a nonterminal and M is either a terminal or nonterminal. Pager in [Pag5] has presented an algorithm which removes all chain reductions from LR(1) parsers after they have been constructed.

In ...

Article
Free
PLAN2D - syntactic analysis of precedence graph grammars

The syntactical analysis of pictures derived by a context-free graph-grammar is a rather complicated algorithm. Analogously to the development for Chomsky-grammars ten years ago we define the precedence-graph-grammars as a subclass of the context-free ...

Article
Free
Program improvement by source to source transformation

We treat a program as an object of manipulation, determine items of program constancy, and simplify the program based on the constancy. Some motivation for program manipulation is presented, along with two examples of “higher level optimization” written ...

Article
Free
Goal-directed program transformation

Program development often proceeds by transforming simple, clear programs into complex, involuted, but more efficient ones. This paper examines ways this process can be rendered more systematic. We show how analysis of program performance, partial ...

Article
Free
Primitive recursive program transformation

We describe how to transform certain flowchart programs into equivalent explicit primitive recursive programs. The input/output correctness conditions for the transformed programs are more amenable to proof than the verification conditions for the ...

Article
Free
Mathematical semantics and data flow programming

A Data Flow program [1,2] is a flow-chart like network of operators which compute concurrently, dependent only on the availability of the data which flow along the paths. Each operator has only a local effect, transforming input data to output data. ...

Article
Free
Procedure referencing environments in SL5

SL5 is a programming language developed for experimental work in generalized pattern matching and high-level data structuring and access mechanisms. This paper describes the procedure mechanism and the conventions for the interpretation of identifiers ...

Article
Free
Verifying formal specifications of synchronous processes

SYNVER is an automatic programming system for the synthesis of solutions to problems of synchronization among concurrent processes from specifications written in a high level assertion language (SAL). The correctness of the solutions constructed by ...

Article
Free
Test data as an aid in proving program correctness

Proofs of program correctness tend to be long and tedious whereas testing, though useful in detecting errors, usually does not guarantee correctness. This paper introduces a technique whereby test data can be used in proving program correctness. In ...

Contributors
  • University of California, Berkeley
  • University of California, Berkeley
  • University of California, Berkeley
  • University of Michigan-Dearborn
  • Stanford University

Index Terms

  1. Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages

    Recommendations

    Acceptance Rates

    POPL '76 Paper Acceptance Rate20of90submissions,22%Overall Acceptance Rate824of4,130submissions,20%
    YearSubmittedAcceptedRate
    POPL '152275223%
    POPL '142205123%
    POPL '041762916%
    POPL '031262419%
    POPL '021282822%
    POPL '011262419%
    POPL '001513020%
    POPL '991362418%
    POPL '981753218%
    POPL '972253616%
    POPL '961483423%
    POPL '941733923%
    POPL '931993920%
    POPL '922043015%
    POPL '911523120%
    POPL '891913016%
    POPL '881772816%
    POPL '871082927%
    POPL '831702816%
    POPL '821213831%
    POPL '811212420%
    POPL '791462718%
    POPL '781352720%
    POPL '771052524%
    POPL '76902022%
    POPL '751002323%
    POPL '731002222%
    Overall4,13082420%