RFC 83 (rfc83) - Page 1 of 13
Language-machine for data reconfiguration
Alternative Format: Original Text Document
Network Working Group R. Anderson
Request for Comments: 83 A. Harslem
NIC: 5621 J. Heafner
RAND
18 December 1970
LANGUAGE-MACHINE FOR DATA RECONFIGURATION
Introduction
In NWG/RFC #80 we mentioned the needs for data reconfiguration along
with a complier/executor version of a Form Machine to perform those
manipulations.
This note proposes a different approach to the Form Machine.
Specifically, we describe a syntax-driven interpreter that operates
on a grammar which is an ordered set of replacement rules. Following
the interpreter description are some "real-world" examples of
required data reconfigurations that must occur between RAND consoles
and the Remote Job System on the UCLA 360/91. Lastly, we suggest
that the Protocol Manager mentioned in NWG/RFC #80 can be simplified
by using the Form Machine and two system forms (specified a priori in
the code).
Caveat: The Form Machine is not intended to be a general purpose
programming language. Note the absence of declaration statements,
etc.
THE FORM MACHINE
I. Forms
A form is an ordered set of rules.
F = {R1, ...,Rn}
The first rule (R1) is the rule of highest priority; the last rule
(Rn) is the rule of lowest priority.
The form machine gets as input: 1) a list of addresses and lengths
that delimit the input stream(s); 2) a list of addresses and lengths
that delimit the output area(s); 3) a pointer to a list of form(s);
4) a pointer to the starting position of the input stream; and 5) a
pointer to the starting position of the output area. The Form
Machine applies a form to the input string emitting an output string
in the output area. The form is applied in the following manner:
Anderson, et. al.