Algorithms in SNOBOL4
A Programmer's View of Automata
ACM Computing Surveys (CSUR)
A simple automatic derivative evaluation program
Communications of the ACM
PM, a system for polynomial manipulation
Communications of the ACM
Communications of the ACM
Compiler Design Theory
Data Structures: Theory and Practice
Data Structures: Theory and Practice
Proceedings of the international symposium on Extensible languages
Proceedings of the international symposium on Extensible languages
Program control via transition matrices—a novel application of micro-programming
SIGMINI '76 Proceedings of the ACM SIGMINI/SIGPLAN interface meeting on Programming systems in the small processor environment
An n log n algorithm for minimizing states in a finite automaton
An n log n algorithm for minimizing states in a finite automaton
Automat: a programming system for the study of transition-table automatamodels
Automat: a programming system for the study of transition-table automatamodels
Embedding extended arithmetic in SNOBOL4
ACM SIGPLAN Notices
Programming Languages: History and Fundamentals
Programming Languages: History and Fundamentals
Teaching data abstraction to the practicing programmer: A case study
SIGCSE '80 Proceedings of the eleventh SIGCSE technical symposium on Computer science education
Embedding sparse matrix operations in SNOBOL4
ACM SIGPLAN Notices
Hi-index | 0.00 |
Embedding is the extension of a programming language without altering the processor for that language, and preferably using only the facilities of that language. While a single subroutine is the simplest form of semantic extension by embedding, embedding can produce powerful application-oriented languages (AOL) in a relatively economical fashion. A first approximation to a design discipline for writing embedded AOLs is presented. SNOBOL4 is discussed as a particularly receptive host language, in that it has flexible subroutine, data-structure, and storage allocation facilities, has a run-time compiler which can be called from a SNOBOL4 program, and is widely available for almost all research computer systems. A description is given of AUTOMAT, a SNOBOL4-embedded AOL for classroom or research experiments with abstract sequential machines. The generalized transition table is introduced as a data structure in which finite-state machines (FSM), Turing machines, pushdown automata, and the like can be represented as special cases. Data structures for sets, partitions and covers, sparse matrices, and tapes are provided as well. The AUTOMAT AOL currently includes over 100 operators developed according to the proposed method. Applications thus far include an extensive FSM utility system, universal simulators for FSM and other models, FSM minimization, and Krohn-Rhodes decomposition. Performance statistics are presented.