DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦4cdcc0567⟧ TextFile

    Length: 3200 (0xc80)
    Types: TextFile
    Names: »PPTYPES.PAS«

Derivation

└─⟦02f213fda⟧ Bits:30008919 MT+ SPP 2/3
    └─⟦this⟧ »PPTYPES.PAS« 

TextFile


CONST
  CR = $0D;
  MAXSYMSIZE = 200;     (* MAX SIZE OF A SYMBOL *)
  MAXSTKSIZE = 100;     (* MAX # OF SYMBOLS CAUSING INDENTATION *)
  MAXKEYLEN  = 10;      (* MAX LENGTH OF A RESERVED WORD *)
  MAXLINSIZE = 72;      (* MAX SIZE OF AN OUTPUT LINE *)
  SLFAIL1  = 48;      (* USE TWO BLANKS AS TAB BEFORE THIS COL *)
  SLFAIL2  = 60;      (* USE ONE BLANK  AS TAB BETWEEN SF1 AND HERE *)
  INDENT1    = 2;
  INDENT2    = 1;
  SPACE = ' ';
  
TYPE
  KEYSYMBOL = (PROGSY,
	       EXTSY,
               FUNCSY,
               PROCSY,
               LABELSY,
               CONSTSY,
               TYPESY,
               VARSY,
               BEGINSY,
               REPEATSY,
               RECORDSY,
               CASESY,
               CASEVARSY,
               OFSY,
               FORSY,
               WHILESY,
               WITHSY,
               DOSY,
               IFSY,
               THENSY,
               ELSESY,
               ENDSY,
               UNTILSY,
               BECOMES,
               OPENCOMMENT,
               CLOSECOMMENT,
               SEMICOLON,
               COLON,
               EQUALS,
               OPENPAREN,
               CLOSEPAREN,
               PERIOD,
               END_OF_FILE,
               ANOTHERSY,
               OTHERSY);
               
  OPTION = (CRSUPPRESS,
            CRBEFORE,
            BLANKLINEBEFORE,
            DINDENTONKEYS,
            DINDENT,
            SPACEBEFORE,
            SPACEAFTER,
            GOBBLESYMBOLS,
            INDENTBYTAB,
            INDENTTOCLP,
            CRAFTER);
            
  OPTIONSET = SET OF OPTION;
  KEYSYMSET = SET OF KEYSYMBOL;

  TABLEENTRY = RECORD
                 OPT              : OPTIONSET;
                 DINDENTSYMBOLS   : KEYSYMSET;
                 GOBBLETERMINATORS: KEYSYMSET
               END;

  OPTIONTABLE = ARRAY ÆKEYSYMBOLÅ OF TABLEENTRY;
  
               
  KEY = PACKED ARRAY Æ1..MAXKEYLENÅ OF CHAR;
  
  KEYWORDTABLE = ARRAY ÆPROGSY..UNTILSYÅ OF KEY;
  
  SPECIALCHAR = PACKED ARRAY Æ1..2Å OF CHAR;
  
  DBLCHRSET = SET OF BECOMES..OPENCOMMENT;
  
  DBLCTABLE = ARRAY ÆBECOMES..OPENCOMMENTÅ OF SPECIALCHAR;
  
  SGLCHARTABLE = ARRAY ÆOPENCOMMENT..PERIODÅ OF CHAR;
  
  STRING = ARRAY Æ1..MAXSYMSIZEÅ OF CHAR;
  
  SYMBOL = RECORD
             NAME       :       KEYSYMBOL;
             VALUE      :       STRING;
             LENGTH     :       INTEGER;
             SPACESBEFORE:      INTEGER;
             CRSBEFORE  :       INTEGER
           END;
           
  SYMBOLINFO = æ^åSYMBOL;
  
  CHARNAME = (LETTER, DIGIT, BLANK, QUOTE,
             END_OF_LINE, FILEMARK, OTHERCHAR);
             
  CHARINFO = RECORD
               NAME     :       CHARNAME;
               VALUE    :       CHAR
             END;
             
  STACKENTRY = RECORD
                 INDENTSYMBOL : KEYSYMBOL;
                 PREVMARGIN   : INTEGER
               END;
               
  SYMBOLSTACK = ARRAY Æ1..MAXSTKSIZEÅ OF STACKENTRY;


«eof»