|
|
DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3028 (0xbd4)
Types: TextFile
Names: »PARSER.I«
└─⟦8c095a7f3⟧ Bits:30005798 CR80 Disc Pack ( Vol ILS systemdisk XAMOS TOS 10:01 hard boot #43c 19-7-87/JFJ )
└─⟦this⟧ »PREFIXES.D!XAMOS.D!PARSER.D!V0202.D!SWELL.D!PARSER.I«
└─⟦this⟧ »PREFIXES.D!XAMOS.D!PARSER.D!V02CT.D!SWELL.D!PARSER.I«
└─⟦c2e810e96⟧ Bits:30005799 CR80 Disc Pack ( XAMOS 841129 ILS TOS 10-01 System Disk Tilhører ILS/MSG hard boot boot entry #43c )
└─⟦this⟧ »PREFIXES.D!XAMOS.D!PARSER.D!V0202.D!SWELL.D!PARSER.I«
└─⟦this⟧ »PREFIXES.D!XAMOS.D!PARSER.D!V02CT.D!SWELL.D!PARSER.I«
"-----------------------------------------------------------------------
"
"
" MODULE NAME: BOTTOM UP PARSER
" MODULE ID NMB: CSS/210
" MODULE VERSION: 1
" MODULE TYPE: IMPORT MODULE
" MERGE FILES: -
"
" SPECIFICATIONS: -
" AUTHOR/DATE: LKN/800627
"
" DELIVERABLE: YES
" SOURCE LANGUAGE: SWELL
" COMPILE COMPUTER: CR80
" TARGET COMPUTER: CR80
" OPER. SYSTEM: -
"
"-----------------------------------------------------------------------
"
" CHANGE RECORD
"
" VERSION AUTHOR/DATE DESCRIPTION OF CHANGE
" ------- ----------- ---------------------
"
" V0202 HVE/840120 EXPORT OF PROCEDURE RESET_PARSER( R6 )
"
"-----------------------------------------------------------------------
"PAGE«ff»
IMPORT PROCEDURE PARSE
"===================="
(STACKATTRIBUTESIZE, MAXSTACKATTRIBUTES: INTEGER;
R4; "ENTRY POINT OF SEMANTICS PROCEDURE
R5; "PARSE STACK BASE
R7; "PARSE TABLE PTR
R6); "LINK
" THE PARSE PROCEDURE IS THE CONTROLLING PART OF THE PARSING SCHEME.
" AT ENTRY THE PARSE PROCEDURE STACKS THE OLD STATE IN THE FIRST PART
" OF THE PARSE TABLE (REFERENCED BY R7) AND ESTABLISHES AN INITIAL PARSE
" STATE FOR PARSING WITH THE ACTUAL PARSE TABLE.
" AT EXIT THE PARSER WILL REESTABLISH THE PARSE STATE AS IT WAS AT ENTRY,
" THUS ALLOWING DYNAMIC RESELECTION (STACKING AND UNSTACKING) OF PARSE
" TABLES. HOWEVER, A SINGLE PARSE TABLE CANNOT BE USED RECURSIVELY.
" DURING EXECUTION THE PARSE PROCEDURE ACTIVATES THE SEMANTICS PROCEDURE
" (REFERENCED BY R4) IN THE FOLLOWING CASES:
" R1: R2: R5: COMMENTS:
" 1 - PARSE STACK PTR AN IDENTIFIER HAS BEEN SCANNED
" 2 VALUE PARSE STACK PTR A CONSTANT HAS BEEN SCANNED
" 3 SIZE PARSE STACK PTR A STRING HAS BEEN SCANNED
" 4 CAUSE - A PARSING ERROR HAS OCCURRED
" N (>4) - PARSE STACK PTR PRODUCTION NO 'N' IS RECOGNIZED
" (LEFT HAND SYMBOL)
" NOTE: ALL REGISTERS MUST BE REESTABLISHED AT RETURN FROM THE SEMAN-
" TICS PROCEDURE.
IMPORT VAR
SYMBOLBUF: ARRAY [0..0] OF CHAR;
" WHENEVER AN IDENTIFIER OR A STRING IS RECOGNIZED BY THE PARSING SYSTEM,
" THE SYMBOL IS BUFFERED IN THE ARRAY 'SYMBOLBUF', TERMINATED BY TWO
" 'NULL' CHARACTERS.
" REQUIREMENTS:
"
" IMPORT PROCEDURE IN_BYTE (R3 'CHARACTER VALUE(RETURN)'; R6 'LINK');
" DURING SCANNING (RECOGNITION OF SYMBOLS OF THE LANGUAGE), THE CHARACTERS
" ARE READ ONE BY ONE, BY CALLING THIS PROCEDURE.
"
" IMPORT VAR CHARCLASSTABLE: ARRAY [0..127] OF BYTE;
" THIS TABLE DEFINES THE CLASS AF EACH CHARACTER IN THE RANGE 0..127;
" CHARCLASS = (SKIP, ALFA, NUMERIC, DELIMITER, COMMENTCHAR, STRINGCHAR,
" HEXCHAR, IGNORE, ESCAPE);
IMPORT PROCEDURE RESET_PARSER( R6 );
"==========================="
" THIS PROCEDURE IS USED WHENEVER THE PARSER HAD TO BE RESTARTED.
" THE PROCEDURE INITIALIZE THE VARIABLE CURRCHARCLASS TO IGNORE. C