Trailing-Edge
-
PDP-10 Archives
-
704rmsf2
-
10,7/rms10/rmssrc/rmstab.b36
There are 6 other files named rmstab.b36 in the archive. Click here to see a list.
MODULE TABL =
BEGIN
GLOBAL BIND TABLV = 1^24 + 0^18 + 3; !EDIT DATE: 22-DEC-77
%([
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
!COPYRIGHT (C) 1977, 1979 BY DIGITAL EQUIPMENT CORPORATION
AUTHOR: S. BLOUNT
THIS MODULE CONTAINS ALL RUN-TIME PURE TABLES
WHICH ARE USED BY RMS-20. THESE TABLES ARE INCLUDED
HERE (AS OPPOSED TO THE GLOBAL DECLARATION MODULE)
SO THAT THEY CAN BE READ-ONLY WHEN RMS-20 IS LOADED
INTO USER CORE.
THIS MODULE CURRENTLY CONTAINS TWO TABLES -- A DATA-TYPE
TABLE WHICH DEFINES THE CHARACTERISTICS OF THE VARIOUS
KEY DATA-TYPES, AND A TRANSLATION TABLE FOR PROCESSING
OF ASCII RECORDS.
THE DATA-TYPE TABLE CONTAINS ALL ATTRIBUTES FOR EACH DEFINED
KEY DATA-TYPE. THE ONLY ATTRIBUTE OF A DATA-TYPE
WHICH IS CURRENTLY DEFINED IS A BYTE SIZE. HOWEVER,
AS ATTRIBUTES ARE ADDED IN THE FUTURE, IT WILL BECOME
NECESSARY TO EXPAND THIS TABLE TO INCLUDE THESE NEW
ATTRIBUTES. THUS, ALL INFORMATION WHICH DESCRIBES THE
CHARACTERISTICS OF A KEY DATA-TYPE SHOULD BE INCLUDED
IN THIS TABLE.
REVISION HISTORY:
PRODUCT LOCAL
EDIT EDIT DATE WHO PURPOSE
==== ==== ==== === ==========
1 1 18-OCT-77 SB ADD ASCII TABLE, CHANGE NAME OF MODULE
- 2 14-NOV-77 SB CHANGE BIND OF TABLE1
4 3 22-DEC-77 SB ADD ABR TO ^Z,ESC
*************************************************
* *
* NEW REVISION HISTORY *
* *
*************************************************
PRODUCT MODULE SPR
EDIT EDIT QAR DESCRIPTION
====== ====== ===== ===========
***** END OF REVISION HISTORY *****
])%
REQUIRE 'RMSREQ';
UNDECLARE %QUOTE SFLG, %QUOTE ABR;
%([ THIS MODULE CONTAINS A MAJOR ITEM: THE DATA-TYPE
CHARACTERISTICS TABLE FOR USE IN INDEXED FILES.
THIS TABLE CONTAINS ALL ATTRIBUTES OF EACH KEY
DATA-TYPE WHICH ARE NECESSARY TO PROCESS THE KEY.
THE TABLE IS CENTRALIZED HERE TO AVOID MULTIPLE
CASE STATEMENTS THRUOUT THE CODE.
THE ACTUAL STRUCTURE MACROS FOR EACH FIELD IN THIS
TABLE ARE CONTAINED IN THE FILE "XAB.REQ".
NOTE THAT THE ORDER OF THE ENTRIES IN THIS TABLE MUST
CORRESPOND TO THE NUMERIC VALUES OF EACH KEY DATA-TYPE.
NOTE THAT IF THE FORMAT OF THE DATA-TYPE TABLE CHANGES,
THIS BIND STATEMENT MUST ALSO BE MODIFIED ])%
%([ MACRO TO DEFINE A NEW DATA-TYPE ])%
MACRO DATATYPE ( XNAME, XTYPE, XBSZ )=
XTYPE ^ 35 + XBSZ %;
%([ VALUES USED FOR EACH DATA TYPE ])%
LITERAL TYPECHARACTER = 0, ! CHARACTER DATA TYPE
TYPENUMERIC = 1; ! NUMERIC DATA TYPE
%([ THE ACTUAL TABLE OF KEY DATA-TYPE CHARACTERISTICS ])%
BIND XXXXXX = PLIT (
DATATYPE ( %(STREAM)% DTPSTM, %(TYPE)% TYPECHARACTER, %(BYTE SIZE)% STRINGBYTESIZE),
DATATYPE ( %(EBCDIC)% DTPEBC, %(TYPE)% TYPECHARACTER, %(BYTE SIZE)% EBCDICBYTESIZE),
DATATYPE ( %(SIXBIT)% DTPSIX, %(TYPE)% TYPECHARACTER, %(BYTE SIZE)% SIXBITBYTESIZE ) );
GLOBAL BIND DTPTABLE = XXXXXX;
%([
*****************************************************************
* TRANSLATION TABLE FOR READ ASCII RECORDS *
*****************************************************************
])%
LITERAL SFLG = BITN ( 18 ), ! SIGNIFICANCE FLAG
ABR = BITN ( 20 ); ! ABORT FLAG
MACRO TBL ( LEFTCHAR, RIGHTCHAR ) =
( SFLG + LEFTCHAR ) ^ 18 + ( RIGHTCHAR + SFLG ) %;
BIND YYYYYY = PLIT (
0^18 + (1+sflg), !leading nuls not signif
TBL ( 2, 3 ),
TBL ( 4, 5 ),
TBL ( 6, 7 ),
TBL ( 8, 9 ),
TBL ( 10+ABR, 11+ABR ), ! LF, VT
TBL ( 12+ABR, 13 ), ! FF,
TBL ( 14, 15 ),
TBL ( 16, 17 ),
TBL ( 18, 19 ),
TBL ( 20, 21 ),
TBL ( 22, 23 ),
TBL ( 24, 25 ),
TBL ( 26+ABR, 27+ABR ), ! ^Z,,ESC
TBL ( 28, 29 ),
TBL ( 30, 31 ),
TBL ( 32, 33 ),
TBL ( 34, 35 ),
TBL ( 36, 37 ),
TBL ( 38, 39 ),
TBL ( 40, 41 ),
TBL ( 42, 43 ),
TBL ( 44, 45 ),
TBL ( 46, 47 ),
TBL ( 48, 49 ),
TBL ( 50, 51 ),
TBL ( 52, 53 ),
TBL ( 54, 55 ),
TBL ( 56, 57 ),
TBL ( 58, 59 ),
TBL ( 60, 61 ),
TBL ( 62, 63 ),
TBL ( 64, 65 ),
TBL ( 66, 67 ),
TBL ( 68, 69 ),
TBL ( 70, 71 ),
TBL ( 72, 73 ),
TBL ( 74, 75 ),
TBL ( 76, 77 ),
TBL ( 78, 79 ),
TBL ( 80, 81 ),
TBL ( 82, 83 ),
TBL ( 84, 85 ),
TBL ( 86, 87 ),
TBL ( 88, 89 ),
TBL ( 90, 91 ),
TBL ( 92, 93 ),
TBL ( 94, 95 ),
TBL ( 96, 97 ),
TBL ( 98, 99 ),
TBL ( 100, 101 ),
TBL ( 102, 103 ),
TBL ( 104, 105 ),
TBL ( 106, 107 ),
TBL ( 108, 109 ),
TBL ( 110, 111 ),
TBL ( 112, 113 ),
TBL ( 114, 115 ),
TBL ( 116, 117 ),
TBL ( 118, 119 ),
TBL ( 120, 121 ),
TBL ( 122, 123 ),
TBL ( 124, 125 ),
TBL ( 126, 127 ) );
GLOBAL BIND TABLE1 = YYYYYY;
%([
*****************************************************************
* END OF RMSTAB *
*****************************************************************
])%
END
ELUDOM