DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

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

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦082c05e6d⟧ TextFile

    Length: 3840 (0xf00)
    Types: TextFile
    Names: »ep1rcpas«

Derivation

└─⟦2c55ea56f⟧ Bits:30001844 SW-save af projekt 1000, Alarm-system
    └─⟦6b41451d2⟧ 
        └─⟦this⟧ »ep1rcpas« 

TextFile

job jaba 600 time 4 0

newpass1txt = edit p1rcpas

m e
 
; corrections to p1rcpas

;page 1
l./higherror=167/, r/167/169/,

l./version = '/, d, i/
version = 'pascal    version  1981.01.08';
/



; page 27
l./function insertname(nam/,
; page 28
l./list:=nil;/, l1, i/
typ := nil; (* prevent strange compiler reactions after syntax errors ! *)
/,



;page 59
l./procedure checkname(/,
l./procedure errorprod;/, i/


function check_variable ( stack_pointer : stackinx ) : boolean;
(* returns true, if the attstack ( stack_pointer ) describes
a vaiable  *)
begin
check_variable := false;
with attstack Æ stack_pointer Å do 
if varnam = nil then markerror (133)
else
if varnam^.namekind in Æconstname, typname, procname, funcname,
fprocname, ffuncname Å then markerror ( 133 )
else
if vartypp <> nil then
if emitbuffered and (constant = nil) then
begin
emitbuffered := false;
check_variable := true;
end
else
markerror ( 133 );
end;
/,



; page 60
l./procedure standardparam(/,
l./if vartypp<>nil then/, i/
begin
(* check legal parameter name kind *)
checkname ( varnam );
/,


; page 61
l./procfuncname='READ/,
l./if emitbuffered and (/, d./markerror(133)/,
i/
if check_variable ( oldtop ) then
/,

l./emitbuffered:=false/, d,


; page 63
l./procfuncname='NEW/,
l./with attstackÆnewtop-1Å/,
d./emitbuffered:=false/, i/
if check_variable ( oldtop ) then
/,
l./end/, d,



; page 66
l./end;(*standardparam/, i/
end;
/,




; page 92
l./procedure paramtype(name:/,

; page 94
l./varparname:begin/,
l1, d./emitbuffered:=false/, i/
if check_variable ( newtop ) then
/, 
l./end/, d./(133)/,





; page 106
l./procedure paramgroup(kind/,
l./with name^ do/, d,
l./if namekind<>/, r/namekind/name^.namekind/,
l./markerror(107)/, l1, i/
else
if (kind <> varparname) and (name^.typ^.typkind = filetyp) then
markerror( 168 ) (* file parameter must be VAR_parameter *)
/,



; page 116     81.01.08 correct chapter 10, value of array of 
;              records with variant part
l./1022:(*<const specification>::=/,
l./if (globalvaltypp<>nil)or(valtag<>/, r/or/(* total fix part initialized ? *)
or/, r/then/(* variant part initialized ? *) then/,

l./1027:(*<str const elem/, l./valtypp:=nil/, d1,





; page 127 80.09.22 correct handling of ff
; 80.09.24 correct handling of eof and end-program status 
l./procedure readline;/,
l./if eof(input)then moreinput:=false/, i/
if input^ = nl then readln(input);
/,

l./while noteoln(input) and(/, 
r/not/(not/, r/and/or (input^ = ff)) and/,

l./if not eof(input/, d./readln;/,





; page 129
l./procedure lexical;/,
l./var/, i/
label 999; (* after skip comment newsymb is undefined therefore an
extra turn is needed, this is done by means of a 'goto start' (999) *)
/,





; page 129
l./procedure skipcomment;/,
l./var option:alfa/, l1, i/
startline : integer;
/, l./if ch='$'/, i/
startline := linenumber; (* remember current line number in case of unterminated comment *)
/,

; page 130
l./while ch<>'*'/, d, i/
while (ch <> '*') and moreinput do inchar;
/, l./until ch=')/, d, i/
until (ch = ')') or not moreinput
/, l./while ch<>'å'/, d, i/
while (ch <> 'å') and moreinput do inchar;
if not moreinput then
begin
markerror ( 169 ); (* comment did not terminate *)
write(output, '  (* comment started in line ', startline : 1, '*)');
end;
/,

 
l./begin(*LEXICAL/, l1, i/
999:
/,


l./skipcomment;lexical/, r/lexical/
goto 999; (* enter lexical once more *)
/,





f
▶EOF◀