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 - download
Length: 2762 (0xaca) 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!V0201.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!V0201.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 " ------- ----------- --------------------- " "----------------------------------------------------------------------- "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);