The Data Reconfiguration Service -- Compiler/Interpreter Implementation Notes (RFC0194)
Original Publication Date: 1971-Jul-14
Included in the Prior Art Database: 2000-Sep-13
Publishing Venue
Internet Society Requests For Comment (RFCs)
Related People
V. Cerf: AUTHOR [+5]
Abstract
I. NEW FEATURES OF THE LANGUAGE
Vint Cerf - UCLA
Eric Harslem - Rand
RFC 194 John Heafner - Rand
NIC 7139
Category: D.4 Bob Metcalfe - MIT
Updates: None
Obsoletes: None Jim White - UCSB
THE DATA RECONFIGURATION SERVICE --
COMPILER/INTERPRETER IMPLEMENTATION NOTES
I. NEW FEATURES OF THE LANGUAGE
1. The meaning of S(#,E,,l) is only find an arbitrary
number (<=256) of EBCDIC characters and store them in
identifier S. This descriptor is terminated only by
an invalid EBCDIC or by exceeding maximum permissible
character count (256).
2. The assignment (S .<=. T) causes all attributes of
identifier T to be given to S, i.e., length, type,
and contents.
3. (S .<=. T || X) concatenates X onto the right-hand
side of T and stores the result in S. If T and X
are binary the resulting value has a length equal
to the sum L(T) + L(X).
4. T(X) joins L(X) and V(X) as a built-in identifier
function.
T(X) = type of identifier X.
L(X) = length of contents of X.
V(X) = contents of X converted to binary
(decimal - binary is presently the only
transformation).
5. New types ED and AD are EBCDIC and ASCII encoded
decimal, respectively. These have been added to
complement the V(X) function.
6. New type SB has been added as signed binary. Type B
is a logical binary string.
7. The syntactic notation for return-from-a-form has
been changed. See new syntax.
Data Reconfiguration Service RFC 194
II. NEW SYNTAX
form :: = rule | form
rule :: = label inputstream outputstream;
label :: = INTEGER | NULL
inputstream :: = terms | NULL
terms :: = term | terms, term
outputstream :: = :terms | NULL
term :: = identifier | identifier descriptor |
descriptor | comparator
identifier :: =
descriptor :: = (replicationexpr, datatype, valueexpr,
lengthexpr control)
comparator :: = (concatexpr connective concatexpr control) |
(identifier .<=. concatexpr control)
replicationexpr :: = # | arithmetricexpr | NULL
datatype :: = B | O | X | E | A | ED | AD | SB | T (identifier)
valueexpr :: = concatexpr | NULL
lengthexpr :: = arithmeticexpr | NULL
connective :: = .LE. | .LT. | ...