• Corpus ID: 5413577

A History of the SNOBOL Programming Languages

  title={A History of the SNOBOL Programming Languages},
  author={Michael D. Shapiro}
The SNOBOL programming languages introduced or popularized most of the concepts of character string processing. The original SNOBOL had just one data type: a string of characters. It could appear in a program as a literal delimited by quotation marks, or as a value assigned to a variable: PET " "MY CALICO CAT" Concatenation, a basic string operation, forms a new string from two or more strings placed end to end: MYPET • "HERE IS " PET "." concatenates the string "HERE IS ", the value in the… 
Models of String Pattern Matching *
1. Introduction In an earlier report [1], a model for string pattern matching in the style of SNOBOL4 was developed using Icon. That report showed how most of the pattern-matching mechanism of
Code-Generation On-the-Fly: A Key to Portable Software
A technique for representing programs abstractly and independently of the eventual target architecture is presented that yields a file representation twice as compact as machine code for a CISC processor.
The uniconc optimizing unicon compiler
The objective of this project was to design and implement an optimizing compiler for the goal-directed, object-oriented Unicon programming language, and the resulting compiler (Uniconc) has a unique topology that is designed to facilitate code transformation experiments.
Dynamically Typed Languages
  • L. Tratt
  • Computer Science
    Adv. Comput.
  • 2009
In this chapter, the general topic of dynamically typed languages is explored, how they differ from statically typed languages, their history, and their defining features.
A Survey of Adaptive Optimization in Virtual Machines
This paper surveys the evolution and current state of adaptive optimization technology in virtual machines and concludes that adaptive optimization has begun to mature as a widespread production-level technology.
A Bibliography of Publications in ACM SIGPLAN Notices, 1970{1979
A-TABLE [676]. A. [98]. AADC [38]. ABACUS [299]. ABACUS/X [299]. Abstract [518, 427, 269, 261, 30, 584, 278, 223, 442, 58, 479, 266]. Abstraction [715, 392, 391, 264, 639, 268]. Abstractions [444,


SNOBOL , A String Manipulation Language
SNOBOL is a programming language for the manipulation of strings of symbols that consists of a statement in the SNOBOL language that operates on symbolically named strings.
Suggested revisions and additions to the syntax and control mechanisms of SNOBOL4
The positional nature of the subject and its unique role in the statement is responsible, more than any other single thing, for the anomalous syntax o f SNOBOL4.
Improving the control structure of SNOBOL4
A better treatment of function definition is suggested using SNOBOL4 to write a moderately-large (500 statements) parser-generator and the uselessness of freedoms provided here is demonstrated.
CHAMP—character manipulation procedures
A new programming language facility for symbol manipulation is described, implemented in the ALGOL compiler for the Burroughs B5500, which allows numeric and symbolic processes to be programmed together.
Extensions to SNOBOL4 in the SNOBAT implementation
SNOBAT incorporates a number of extensions to the standard version of SNOBOL4, as set forth by Griswold, Poage, and Polonsky, which are described here.
Contemporary Concepts of Microprogramming and Emulation
By the mid 1960s it became both possible and practicable to build computers in which the control is driven explicitly by microprograms, and these programs generally reside in a device, distinct from the ordinary computer.
An algebraic model for string patterns
Although SNOBOL4 is dominant in the field, other string manipulation languages have been developed, and each of these languages provides facilities for the grouping, rearranging, inserting, deleting, sorting, testing, tagging, and counting of strings.
ESP3: A Language for Pattern Description and a System for Pattern Recognition
The ESP3 picture patterns, the pattern matching operation, and the experimental implementation of ESP3 are described to test the feasibility of the system.
GLOSS: A high level machine
A program of a high level language can be executed either by applying a suitable high level machine to the program or by translating the program to an equivalent program in another language for which
Storage management for an implementation of SNOBOL4
The method used in a machine‐dependent implementation of SNOBOL4 called SITBOL, which includes marking, address adjustment and compaction, is described and the storage overhead of the technique is analysed and compared with an alternate method.