Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- &GetTD(@TD);
- &WriteLn;
- &WriteLn('Lisa Pascal I-Code Dump, (C) 1984 Apple Computer, Inc. (Ver ',
- .Version, ') - ', TD);
- &WriteLn;
- &WriteLn;
- &FOpen := False;
- --
- &InitPasDefs;
- &InitObjFile(OutFile, 8); (*OIAllowAbort := False; {spring}*)
- &GetTD(@DateStr);
- &WriteLn(TITLE, VERSION, ' ': 9, DateStr);
- &Copyrights;
- &WriteLn;
- &Aborted := True;
- --
- *IF Pos('Lisa Pascal Compiler', Line) = 1 THEN
- ,BEGIN
- ,PutLineP(ListFile, @Line);
- ,PutStrS(ListFile, Concat(TITLE, VERSION), 0);
- ,PutStrS(ListFile, ' ', 79 - Length(TITLE) - Length(VERSION) -
- 4Length(DateStr));
- ,PutLineP(ListFile, @DateStr);
- ,END
- --
- ,054: { REAL48 }
- 1BEGIN
- 1IF NOT HaveExtTmp THEN
- 3BEGIN {allocate an extended real temp for conversions}
- 3GetTemp(ExtTmp, 10); HaveExtTmp := True;
- 3END; {this is done once per procedure}
- 1Expression(NextByte, - 1, False);
- 1IF gCAttr.cKind = CNST THEN
- 3BEGIN
- 3IF NOT HaveRealTmp THEN
- 5BEGIN {allocate one real temp for constant conversion}
- 5GetTemp(RealTmp, 4); HaveRealTmp := True;
- 5END; {need only one per proc}
- 3Store(gCAttr, RealTmp, LongOp);
- --
- 2ELSE {!03-29-84}
- 4BEGIN {real funct result returned in D0, D1} {!03-29-84}
- 4IF NOT HaveExtTmp THEN {!03-29-84}
- 6BEGIN {allocate an extended real temp for conversions} {!03-29-84}
- 6GetTemp(ExtTmp, 10); HaveExtTmp := True; {!03-29-84}
- 6END; {this is done once per procedure} {!03-29-84}
- 4IF NOT HaveDblTmp THEN {!03-29-84}
- 6BEGIN {allocate one dbl real temp for conversion} {!03-29-84}
- 6GetTemp(DblTmp, 8); HaveDblTmp := True; {!03-29-84}
- 6END; {need only one per proc} {!03-29-84}
- 4IF DblTmp.VLev <= 1 THEN {!03-29-84}
- --
- "LABEL 999;
- "CONST
- $TITLE = 'Lisa Pascal MC68000 Code Generator ';
- $VERSION = 'V2.61 (13-Apr-84)';
- $D0 = 0;
- $D3 = 3;
- $D4 = 4;
- --
- $Line: SUStr; {used to report time}
- $LkUpCalled: Boolean; {true ==> LkUp called by disassembler}
- $Substituted: Boolean; {true ==> LkUp found external name} {!2-19-84}
- $Hex: PACKED ARRAY [1..16] OF Char; {chars 0..F for hex conversion}
- $Aborted: Boolean; {true ==> generation aborted}
- $ErrNum: Integer; {PLinitHeap param}
- $RefNum: Integer; {PLinitHeap param}
- --
- { (C) Copyright 1983, 1984 Apple Computer, Inc. }
- { }
- { 24-Mar-83 }
- { 24-Mar-83 removed "Xhwint" kludge for A2/Mon version }
- {****************************************************************************}
- {$I flags.text }
- {$r-}
- --
- 1 --> 4
- 2 --> 4
- 1 --> 2
- Data Conversion -
- : b
- p/-
- V/-
- --
- &{$u Primitives/io} IOPrimitives,
- &{$u Primitives/tools} ToolsPrimitives;
- #CONST
- &Version = '8.8';
- #TYPE
- &String8 = String[8];
- #VAR
- --
- &END; {WrtErr}
- #PROCEDURE Header;
- &BEGIN {Header}
- )PutLineS(G, Concat('I-Code Dump (Ver ', Version, ') - ', TD));
- )IF NOT Flag THEN
- ,PutLineS(G, Concat('File: ', FN))
- )ELSE
- --
- )Index: Integer;
- &BEGIN {DatCon}
- )Indent(30-Space);
- )PutStrS(G, 'Data Conversion - ', 0);
- )Index := Space; Incr(1);
- )IF NexTok IN [48..63] THEN
- ,CASE NexTok OF {[@=4]}
- --
- "(* 5-27-83 Makescsize: overflow checking on OflowFlag *)
- "(* 5-27-83 Expression: add OflowFlag *)
- "(* 5-27-83 Abssqr: add v *)
- "(* 6-13-83 Makescsize: range checking on constant conversions *)
- "(* 6-13-83 Xchr: add range checking on CHR() *)
- "(* 6-17-83 Simpleexpression: check for nil typtr in arith. factor *)
- "(* 6-22-83 Resetwrite: re-allow INTERACTIVE files (Paslib converts to TEXT) *)
- --
- "(* 6-23-83 Callnonstandard: range checking on parameters *)
- "(* 6-23-83 assign: no range-checking on longints *)
- "(* 6-23-83 assign: range-checking code moved to insertrangecheck *)
- "(* 10-06-83 Factor: include type conversion function, <typeid>(expr) *)
- "(* 10-13-83 Method 'NEW' changed to 'CREATE' *)
- "(* 10-13-83 Typeconvert: add CheckSubClass which range-cks class conversion *)
- "(* 10-13-83 Variable:type conversion of var params using syntax <typeid>(var)*)
- "(* 10-18-83 Selector: adjust so that caller must set up initial GATTR *)
- "(* 10-18-83 Factor: adjust calls to selector *)
- "(* 10-18-83 Variable: adjust call to selector *)
- --
- 4TreePtr := NIL;
- 4SawClassId := True;
- 4END
- 2ELSE IF Token = LPARENSY THEN {type conversion}
- 4BEGIN
- 4TypeConvert(FSys, Variable, FpN);
- 4lAttr := gAttr;
- --
- "CONST
- $TITLE = 'Lisa Pascal Compiler ';
- ${$ifc foros}
- $VERSION = 'V1.164 (20-Apr-84)';
- ${$elsec}
- $VERSION = 'V0.10.2 (Monitor) ';
- $DATE = '11-Jan-84';
- ${$endc}
- $D0 = 0; {register equates}
- --
- &AsmOnly := False; AsmProc := False; SaveA2D3 := False; MacFlag := False;
- &{$ifc ForOs}
- &GetTD(@DateStr);
- &WriteLn(TITLE, VERSION, ' ':23, DateStr);
- &{$elsec}
- &GotoXY(0, 0);
- &WriteLn(TITLE, VERSION, ' ': 9, DATE);
- &{$endc}
- &Copyrights;
- &WriteLn;
- --
- &IF Listing THEN
- (BEGIN
- ({$ifc ForOs}
- (PutStrS(ListingFCBP, Concat(TITLE, VERSION), 0);
- (PutStrS(ListingFCBP, ' ', 79 - Length(TITLE) - Length(VERSION) - Length(DateStr));
- (PutLineP(ListingFCBP, @DateStr);
- ({$elsec}
- (PutLineS(ListingFCBP, Concat(TITLE, ' ', VERSION, ' ', DATE));
- ({$endc}
- (PutcF(ListingFCBP, IONewline);
- (END;
- --
- "175 Procedure or function has already been declared once
- "176 Unsatisfied forward declaration for Procedure
- "177 Unsatisfied forward declaration for Function
- "178 Type conversion to a different size type is not allowed
- "179 Illegal type of operands in constant expression
- "180 Division by 0
- "181 NIL is not allowed in a constant expression
- --
- "2012 Too many locals
- Verification Errors:
- "4000 Bad verification block format
- "4001 Source code version conflict
- "4002 Compiler version conflict
- "4003 Linker version conflict
- "4100 Version in file less than minimum version supported by program
- "4101 Version in file greater than maximum version supported by program
- PAS/PASERRS.ERR.TEXT
- S.ERR.TE
- 10 Too many digits
- --
- 175 Procedure or function has already been declared once
- 176 Unsatisfied forward declaration for Procedure
- 177 Unsatisfied forward declaration for Function
- 178 Type conversion to a different size type is not allowed
- 179 Illegal type of operands in constant expression
- 180 Division by 0
- 181 NIL is not allowed in a constant expression
- --
- 2011 Too many globals
- 2012 Too many locals
- 4000 Bad verification block format
- 4001 Source code version conflict
- 4002 Compiler version conflict
- 4003 Linker version conflict
- 4100 Version in file less than minimum version supported by program
- 4101 Version in file greater than maximum version supported by program
- PASERRS.ERR
- aToo many digits
- Digit expected after '.' in real
- --
- Procedure or function has already been declared once
- Unsatisfied forward declaration for Procedure
- Unsatisfied forward declaration for Function
- Type conversion to a different size type is not allowed
- Illegal type of operands in constant expression
- Division by 0
- NIL is not allowed in a constant expression
- --
- &OflowFlag := False;
- &{$ifc ForOs}
- &GetTD(@DateStr);
- &WriteLn(TITLE, VERSION, ' ':23, DateStr);
- &{$elsec}
- &GotoXY(0, 0);
- &WriteLn(TITLE, VERSION, ' ': 9, DATE);
- &{$endc}
- &Copyrights;
- &WriteLn;
- --
- &IF Listing THEN
- (BEGIN
- ({$ifc ForOs}
- (PutStrS(ListingFCBP, Concat(TITLE, VERSION), 0);
- (PutStrS(ListingFCBP, ' ', 79 - Length(TITLE) - Length(VERSION) - Length(DateStr));
- (PutLineP(ListingFCBP, @DateStr);
- ({$elsec}
- (PutLineS(ListingFCBP, Concat(TITLE, ' ', VERSION, ' ', DATE));
- ({$endc}
- (PutcF(ListingFCBP, IONewline);
- (END;
- --
- "(* 6-17-83 Prog: delete METHOD from list of legal syms following decl section*)
- "(* 6-28-83 Hexconstant: make all $xxxx words, $xxxxxxxx longints *)
- "(* 7-15-83 Error: conditional around Killexec *)
- "(* 8-28-83 Hexconstant: issue a warning on value change (inhouse version only*)
- "(* 8-28-83 Warning: a new procedure for warnings *)
- "(* 8-30-83 Previousfile: fix so file stack doesn't underflow *)
- "(* 9-07-83 Fillinbuf: check ioresults after reads *)
- --
- &ExitFlag, First: Boolean;
- &lpN: pN;
- &lUnitP: pN;
- $BEGIN {SearchClasses - a special version of SearchLocal for class methods}
- &ExitFlag := False; HigherLevel := StartAtSuper;
- &lpN := NIL;
- &WHILE (FpT <> NIL) AND NOT ExitFlag DO
- --
- %withvars: array[1..12{?maxdisplay}] of pn;
- %withatloc: array[1..12{?maxdisplay}] of ppstmt;
- %withcseindex: array[1..12{?maxdisplay}] of integer;
- %withlevel:integer; {?delete in final version - in globals}
- %noloadlist:pnodelist;
- %stackp:integer; { used in traverse }
- %cstackp:integer; { used in traverse }
- --
- (* if not CSEarray[n].needaddr then
- &processCSE(n,tempok,valueinreg);
- "{Check for any deathnodes. If none, no benefit to calculating
- #non-temp register versions }
- "i := oldnext; hasdeathnodes := false;
- "while (i < nextnode) and not hasdeathnodes do
- $if nodearray[i].deathnodes <> nil
- $then hasdeathnodes := true
- $else i := i+1;
- "if hasdeathnodes
- "then *)begin {? omit in test version}
- 'if not CSEarray[n].needaddr
- 'then processCSE(n,tempnotok,valueinreg);
- 'processCSE(n,tempnotok,addrinreg);
- 'end;
- { processCSE(n,tempok,addrinreg); } {?omit in test version}
- end; {build1node}
- procedure BUILDNODEARRAY;
- "var i:integer;
- --
- {$ENDC}
- begin {GlobalOptimize}
- {$IFC OPTDBG=TRUE}
- {? delete these flags in final version}
- optdbgflags[0] := 1; optdbgflags[1] := 0; {
- 0 no 2nd phase output
- 0 short order }
- --
- {$I flags.text}
- {$SETC IULIB := true} {true==>code for Searching I.U. Libs Indirect}
- {$SETC Killexec := true} {true==>exec files will be stopped after errors set
- :Killexec to False for NPR testing version}
- {$SETC OPTDBG := FALSE} {true==>debug output on Opt.2}
- {$g+} {$r-}
- PROGRAM Pascal;
- --
- Too many globals
- Too many locals
- Bad verification block format
- Source code version conflict
- Compiler version conflict
- Linker version conflict
- Version in file less than minimum version supported by program
- Version in file greater than maximum version supported by program
- Pas 3
- "@$|
- Nu"_ |
- --
- 175 Procedure or function has already been declared once
- 176 Unsatisfied forward declaration for Procedure
- 177 Unsatisfied forward declaration for Function
- 178 Type conversion to a different size type is not allowed
- 179 Illegal type of operands in constant expression
- 180 Division by 0
- 181 NIL is not allowed in a constant expression
- --
- 2011 Too many globals
- 2012 Too many locals
- 4000 Bad verification block format
- 4001 Source code version conflict
- 4002 Compiler version conflict
- 4003 Linker version conflict
- 4100 Version in file less than minimum version supported by program
- 4101 Version in file greater than maximum version supported by program
- hPASLIB
- FPLIB
- STDUNIT
- --
- Procedure or function has already been declared once
- Unsatisfied forward declaration for Procedure
- Unsatisfied forward declaration for Function
- Type conversion to a different size type is not allowed
- Illegal type of operands in constant expression
- Division by 0
- NIL is not allowed in a constant expression
- --
- Too many globals
- Too many locals
- Bad verification block format
- Source code version conflict
- Compiler version conflict
- Linker version conflict
- Version in file less than minimum version supported by program
- Version in file greater than maximum version supported by program
- $EXEC {Exec file to compile Pascal compiler specified in %0 }
- $ {Placing .obj file in %1 (if "$" then %1 is %0, default PAS/PASX.OBJ) }
- $ {This exec file calls the exec files <COMP to do the compilation and }
- --
- .IF IOResult <= 0 THEN
- 0BEGIN
- 0GetObjInvar(iuLibFile, InBlock);
- 0IF InBlock.blockHeader = VersionCtrl THEN
- 2BEGIN
- 2REPEAT
- 4GetObjInvar(iuLibFile, InBlock)
- --
- { (C) Copyright 1983, 1984 Apple Computer, Inc. }
- { }
- { 24-Mar-83 }
- { 24-Mar-83 removed "Xhwint" kludge for A2/Mon version }
- {****************************************************************************}
- {$I flags.text }
- {$r-}
- --
- .IF IOResult <= 0 THEN
- 0BEGIN
- 0GetObjInvar(iuLibFile, InBlock);
- 0IF InBlock.blockHeader = VersionCtrl THEN
- 2BEGIN
- 2REPEAT
- 4GetObjInvar(iuLibFile, InBlock)
- --
- "175 Procedure or function has already been declared once
- "176 Unsatisfied forward declaration for Procedure
- "177 Unsatisfied forward declaration for Function
- "178 Type conversion to a different size type is not allowed
- "179 Illegal type of operands in constant expression
- "180 Division by 0
- "181 NIL is not allowed in a constant expression
- --
- "2012 Too many locals
- Verification Errors:
- "4000 Bad verification block format
- "4001 Source code version conflict
- "4002 Compiler version conflict
- "4003 Linker version conflict
- "4100 Version in file less than minimum version supported by program
- "4101 Version in file greater than maximum version supported by program
- -not a Macintosh disk-
- "@$|
- Nu"_ |
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement