# A theory of discrete patterns and their implementation in SNOBOL4

@article{Gimpel1973ATO, title={A theory of discrete patterns and their implementation in SNOBOL4}, author={James F. Gimpel}, journal={Commun. ACM}, year={1973}, volume={16}, pages={91-100} }

The notion of a discrete pattern is formalized and certain properties deduced. A pattern is shown to be a generalization of a formal language. Algorithms for implementing the kinds of patterns in SNOBOL4 are given. The general approach is to create, in-so-far as possible, a bottom-up parse from a top-down specification.

## 49 Citations

### Mathematical semantics of SNOBOL4

- Computer SciencePOPL
- 1973

This paper analyzes the semantics of the programming language SNOBOL4, following the mathematical approach proposed by D. Scott and C. Strachey, and demonstrates that the mathematics approach can provide a natural and usable formal specification of a practical programming language.

### From abstract model to efficient compilation of patterns

- Computer ScienceSymposium on Programming
- 1982

In programming systems it can be a built-in language facility as string matching in SNOBOL4 or a language extension for matching of list structures as in INTERLISP.

### A procedural approach to pattern matching in SNOBOL4

- Computer ScienceACM '74
- 1974

This paper presents a methodology for describing and implementing pattern matching in SNOBOL4 using the coroutine notion, which permits a complete procedural implementation as well as a concise description of the pattern-matching process.

### Proving Properties of SNOBOL 4 Patterns: Selecting the Assertion Format

- Computer ScienceSymposium on Programming
- 1984

Adapting Classic Hoare logic to a non-imperative environment can provide new insight into the method of axiomatic semantics as well as into the specific new area of application.

### An Alternative to the Use of Patterns in String Processing

- Computer ScienceTOPL
- 1980

Generators, coupled with a goal-driven method of expression evaluation, provide the string processing facilities of SNOBOL4 without the disadvantages associated with patterns.

### Extensible pattern matching in SNOBOL4

- Computer ScienceACM '75
- 1975

A definitional mechanism that provides extensibility for the existing facilities in which programmer-defined scanning procedures are written as co-routines at the source-language level is described.

### Nonlinear pattern theory

- Computer ScienceActa Informatica
- 2004

The formal treatment of patterns is extended to include the nonlinear patterns ABORT and FENCE and their derivatives and the theory is applied to analyzing the behavior of a class of patterns to parse programming languages operating in back-up-free fashion.

### On String Pattern Matching: A Quantitative Analysis and a Proposal

- Computer ScienceComput. Lang.
- 1988

### A history of the SNOBOL programming languages

- Linguistics, Computer ScienceSIGP
- 1978

In this paper historical emphasis is placed on the original language, SNOBOL, although important aspects of the subsequent languages are covered.

## References

SHOWING 1-10 OF 19 REFERENCES

### Formal languages and their relation to automata

- Computer ScienceAddison-Wesley series in computer science and information processing
- 1969

The theory of formal languages as a coherent theory is presented and its relationship to automata theory is made explicit, including the Turing machine and certain advanced topics in language theory.

### Blocks—a new datatype for SNOBOL4

- Computer ScienceCACM
- 1972

A new datatype, called a block, has been implemented for SNOBOL4. A block is a three-dimensional aggregate of characters in the form of a right parallelepiped, best thought of as a three-dimensional…

### A programming language for mechanical translation

- Computer ScienceMech. Transl. Comput. Linguistics
- 1958

A notational system for use in writing translation routines and related programs is described to be convenient for the linguist so that he can do his own programming.

### Regular Expression Search Algorithm

- Computer Science
- 1968

A method for locating specific character strings embedded in character text is described and an implementation of this method in the form of a compiler is discussed. The compiler accepts a regular…

### Compiler Construction for Digital Computers

- Computer Science
- 1971

The techniques involved in writing compilers for high-level languages such as FORTRAN or PL/1, as well as semantic routines, are described.

### Programming Techniques: Regular expression search algorithm

- Computer ScienceCACM
- 1968

A method for locating specific character strings embedded in character text is described and an implementation of this method in the form of a compiler is discussed. The compiler accepts a regular…

### Translator writing systems

- Computer Science, LinguisticsCACM
- 1968

A critical review of recent efforts to automate the writing of translators of programming languages is presented and various approaches to automating the postsyntactic aspects of translator writing are discussed.

### The syntax of programming languages

- Computer Science
- 1964

The non-terminal of the abstract syntax represents a group of syntactic objects whose meanings are all in the same semantic domain and changes the language as well as the grammar.