File PASCAL.01

Directory of image this file is from
This file as a plain text file

  PROCEDURE GETSYM;
    VAR I,J,K:INTEGER;
    PROCEDURE GETCH;
    BEGIN
    END; (*GETCH*)
  BEGIN (*GETSYM*)
    WHILE CH=' ' OR CH='(' DO  (*SKIP BLANKS & COMMENTS*)
    IF CH=' ' THEN GETCH
    ELSE IF CH='*' THEN
         BEGIN (*COMMENT*) GETCH;
           REPEAT VORCH:=CH; GETCH
           UNTIL VORCH='*' AND CH=')'
         END ELSE CC:=CC-1;
    IF CH>='A' AND CH<='Z' THEN
    BEGIN (*IDENTIFIER OR RESERVED WORD*)
      K:=0; ID:='          ';
      REPEAT IF K<AL THEN
             BEGIN K:=K+1; ID[K]:=CH
             END;
        GETCH
      UNTIL (CH<'A' OR CH>'Z') AND (CH<'0' OR CH>'9');
      I:=1; J:=NORW;
      REPEAT K:=(I+J) DIV 2;
        IF ID>WORD[K] THEN I:=K+1 ELSE J:=K
      UNTIL I=J;
      IF ID=WORD[I] THEN SYM:=I+50 ELSE SYM:=1
    END (*IDENTIFIER OR RESERVED WORD*)
    ELSE IF CH>='0' AND CH<='9' THEN
    BEGIN (*NUMBER*)
      INUM:=0; SYM:=2;K:=0;J:=0;I:=1;
      REPEAT K:=K+1;
        INUM:=INUM*10+ORD(CH)-ORD('0'); GETCH
      UNTIL  CH<'0' OR CH>'9';
      IF K>KMAX THEN BEGIN INUM:=0;ERROR END;
      RNUM:=INUM; IF CH='.'THEN
      BEGIN GETCH; IF CH<>'.' THEN
        BEGIN SYM:=3; K:=0;
          REPEAT IF CH<'0' OR CH>'9' THEN ERROR
                 ELSE BEGIN RNUM:=RNUM*10+ORD(CH)-ORD('0'); GETCH
                      END
          UNTIL CH<'0' OR CH>'9'
        END ELSE CC:=CC-1
      END;
      IF CH='E' THEN
      BEGIN SYM:=3; GETCH;
        IF CH='-' THEN BEGIN I:=-1; GETCH END
        ELSE IF CH='+' THEN GETCH;
        REPEAT IF CH<'0' OR CH>'9' THEN ERROR
               ELSE BEGIN J:=J*10+ORD(CH)-ORD('0'); GETCH
                    END
        UNTIL CH<'0' OR CH>'9'; J:=J*I-K;
        IF J>EMAX OR J<EMIN THEN
        BEGIN J:=0; ERROR END
      END; RNUM:=EXP(J*LN(RNUM))
    END (*NUMBER*)



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search