Trailing-Edge
-
PDP-10 Archives
-
bb-bt99h-bb
-
lexica.c12
There is 1 other file named lexica.c12 in the archive. Click here to see a list.
REP 24/1 ;12C1
GLOBAL BIND LEXICV = #10^24 + 0^18 + #2526; ! Version Date: 27-Mar-85
WIT
GLOBAL BIND LEXICV = #10^24 + 0^18 + #2545; ! Version Date: 27-Jul-85
INS 370/1 ;12C2
2540 AlB 27-Jul-85
When a program contains an extra period at the end of a statement
line, the lexical scanner looks for a dotted operator. Since it
fails when it runs out of statement, it erroneously skips past the
next statement.
Macros ACMMISOPER and ACMMISOP1 were modified to recognize that if
they are already at end of statement when the error occurs, then quit
immediately instead of skipping to end of statement.
2545 CDM 26-Aug-85
Detect too many digits on the end of STOP/PAUSE statements and
stop saving them away. Too many digits will write over memory
that isn't allocated for the literal constant.
REP 67/16 ;12C3
STATE _ STSIXDIGIT;
ACTION _ ACT6DIGIT;
IF .SUM EQL 6 THEN FATLEX( PLIT'6-digit number?0', PLIT'larger number?0', E0<0,0> );
REPLACEI(POINTER,.CHAR);
WIT
%2545% BIND NDIGITS = 6; ! MAX OF SIX CHARACTERS (STANDARD SAYS 5)
STATE _ STSIXDIGIT;
ACTION _ ACT6DIGIT;
%2545% IF .SUM LSS NDIGITS
%2545% THEN REPLACEI(POINTER,.CHAR)
%2545% ELSE IF .SUM EQL NDIGITS
THEN FATLEX( PLIT'6-digit number?0', PLIT'larger number?0', E0<0,0> );
REP 48/19 ;12C4
CALLR ( STSKIP, STRETNX );
LEAVE BIGCHAR
WIT
%2540% IF .CHAR EQL EOS
%2540% THEN
%2540% BEGIN
%2540% STATE = STRETNX;
%2540% LEAVE NEWSTATE;
%2540% END
%2540% ELSE
%2540% BEGIN
%2540% CALLR (STSKIP, STRETNX);
%2540% LEAVE BIGCHAR;
%2540% END
REP 159/19 ;12C5
CALLR ( STSKIP, STRETNX);
VALUE _ EOSLEX^18;
LEAVE BIGCHAR
WIT
VALUE _ EOSLEX^18;
%2540% IF .CHAR EQL EOS
%2540% THEN
%2540% BEGIN
%2540% STATE = STRETNX;
%2540% LEAVE NEWSTATE;
%2540% END
%2540% ELSE
%2540% BEGIN
%2540% CALLR (STSKIP, STRETNX);
%2540% LEAVE BIGCHAR;
%2540% END
SUM 134419