Browse Prior Art Database

The Data Reconfiguration Service -- Compiler/Interpreter Implementation Notes (RFC0194)

IP.com Disclosure Number: IPCOM000004171D
Original Publication Date: 1971-Jul-14
Included in the Prior Art Database: 2000-Sep-13
Document File: 13 page(s) / 31K

Publishing Venue

Internet Society Requests For Comment (RFCs)

Related People

V. Cerf: AUTHOR [+5]

Abstract

I. NEW FEATURES OF THE LANGUAGE

This text was extracted from a ASCII Text document.
This is the abbreviated version, containing approximately 9% of the total text.

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. | .GT. | .GE. | .EQ. | .NE.

concatexpr :: = value | concatexpr value

value :: = literal | arithmeticexpr

arithmeticexpr :: = primary | arithmeticexpr operator primary

primary :: = identifier | L(identifier) | V(identifier) |

INTEGER

operator :: = + | - | * | /

literal :: = literaltype "string"

literaltype :: = B | 0 | X | E | A | ED | AD | SB

string...