Listing: 1 MODULE Importer; 2 (* 3 * REPERTOIRE 4 * Release 1.6 5 * By Charles Bradford and Cole Brecheen 6 * (c) Copyright 1985-1990 PMI 7 * Green Bay, WI 8 * All rights reserved 9 * (414) 468-6040 10 * 11 *) 12 13 IMPORT EnvironUtils; 14 IMPORT ErrorManager; 15 IMPORT GenLists; 16 IMPORT ImpLists; 17 IMPORT KbdInput; 18 IMPORT ListUtils; 19 IMPORT LowLevel; 20 IMPORT M2Strings; 21 IMPORT Numbers; 22 IMPORT Parser; 23 IMPORT PosUtils; 24 IMPORT StrEdit; 25 IMPORT StringIO; 26 IMPORT SYSTEM; 27 IMPORT InitCompilerMods; 28 29 (*# call(reg_param => (), 30 near_call => off, 31 ds_eq_ss => off) *) 32 (*# data(near_ptr => off) *) 33 34 VAR 35 x, fname1, fname2, CurrentWord, LastWord: ARRAY [0..79] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 36 Terminator: CHAR; 37 StartOfImpList, EndOfImpList, LineCnt, ColCnt: CARDINAL; 38 TextList, TmpList, Imports: GenLists.GenList; ***** ^ not supported yet 39 cnt, FoundSpot, dumc: CARDINAL; 40 Sorting, Unqualifying, Qualifying : BOOLEAN; 41 Dumstr: ARRAY [0..0] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 42 43 44 45 PROCEDURE yes( TheQuestion: ARRAY OF CHAR ): BOOLEAN; ***** ^ not supported yet 46 VAR 47 tmpkey: CARDINAL; 48 BEGIN 49 StringIO.WriteEol( StringIO.outp, '' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 50 StringIO.WriteStr( StringIO.outp, TheQuestion ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 51 tmpkey := KbdInput.CAPkey( KbdInput.KeyHit( KbdInput.YorN ) ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 52 IF ORD('Y') = tmpkey THEN ***** ^ undeclared identifier ***** ^ not supported yet 53 StringIO.WriteStr( StringIO.outp, 'yes' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 54 RETURN TRUE; 55 ELSIF ORD('Q') = tmpkey THEN ***** ^ undeclared identifier ***** ^ not supported yet 56 ErrorManager.StraightToDOS(''); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 57 END; 58 StringIO.WriteStr( StringIO.outp, 'no' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 59 RETURN FALSE; 60 END yes; ***** ^ not supported yet 61 62 PROCEDURE NextWord( VAR TheStr: ARRAY OF CHAR ); ***** ^ not supported yet 63 BEGIN 64 Parser.GetNextWord( TextList, LineCnt, ColCnt, TheStr, Terminator ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 65 M2Strings.Assign( CurrentWord, LastWord ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 66 M2Strings.Assign( TheStr, CurrentWord ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 67 END NextWord; ***** ^ not supported yet 68 69 70 PROCEDURE StrInList( TheStr: ARRAY OF CHAR; TheList: GenLists.GenList ): ***** ^ not supported yet ***** ^ not supported yet 71 BOOLEAN; 72 VAR 73 ListEnd, cnt: CARDINAL; 74 tmpstr: ARRAY [0..79] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 75 BEGIN 76 ListEnd := GenLists.ListLength(TheList); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 77 FOR cnt := 1 TO ListEnd DO 78 ListUtils.GetStr( TheList, cnt, tmpstr ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 79 IF PosUtils.Equal( tmpstr, TheStr ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 80 RETURN TRUE; 81 END; 82 END; 83 RETURN FALSE; 84 END StrInList; ***** ^ not supported yet 85 86 87 PROCEDURE InsertElmts( ToBeInserted: GenLists.GenList; VAR IntoThis: ***** ^ not supported yet 88 GenLists.GenList; AtThisSpot: CARDINAL ); ***** ^ not supported yet 89 VAR 90 lngth1, tmpsize, cnt, TypeCode: CARDINAL; 91 tmpadr: SYSTEM.ADDRESS; ***** ^ not supported yet 92 BEGIN 93 lngth1 := GenLists.ListLength( ToBeInserted ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 94 FOR cnt := lngth1 TO 1 BY -1 DO 95 (* it's simpler to insert backwards *) 96 GenLists.GetElmtAdr( ToBeInserted, cnt, tmpadr, tmpsize, TypeCode ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 97 GenLists.ListInsertAdr( tmpadr, tmpsize, TypeCode, IntoThis, AtThisSpot ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 98 END; 99 END InsertElmts; ***** ^ not supported yet 100 101 102 PROCEDURE Alphabetize( adr1: SYSTEM.ADDRESS; size1: CARDINAL; adr2: ***** ^ not supported yet 103 SYSTEM.ADDRESS; size2: CARDINAL ): INTEGER; ***** ^ not supported yet 104 VAR 105 tmp1, tmp2: ARRAY [0..79] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 106 BEGIN 107 LowLevel.Move( adr1, SYSTEM.ADR(tmp1), Numbers.Min(size1, 79) ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 108 tmp1[Numbers.Min(size1, 79)] := 0C; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 109 LowLevel.Move( adr2, SYSTEM.ADR(tmp2), Numbers.Min(size2, 79) ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 110 tmp2[Numbers.Min(size2, 79)] := 0C; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 111 StrEdit.CAPstr( tmp1 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 112 StrEdit.CAPstr( tmp2 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 113 RETURN M2Strings.CompareStr( tmp1, tmp2 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 114 END Alphabetize; ***** ^ not supported yet 115 116 117 PROCEDURE MakeSortedImpList( TopList: GenLists.GenList; VAR OutList: GenLists.GenList ); ***** ^ not supported yet ***** ^ not supported yet 118 VAR 119 SubList: GenLists.GenList; ***** ^ not supported yet 120 TopListEnd, TopListCount: CARDINAL; 121 SubListCount: CARDINAL; 122 x: ARRAY [0..31] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 123 WorkStr: ARRAY [0..1023] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 124 BEGIN 125 TopListCount := 0; 126 TopListEnd := GenLists.ListLength(TopList); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 127 IF TopListEnd < 2 THEN 128 RETURN; 129 END; 130 GenLists.NewList( OutList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 131 REPEAT 132 WorkStr := ''; ***** ^ not supported yet ***** ^ incompatible assignment 133 INC( TopListCount ); ***** ^ undeclared identifier ***** ^ not supported yet 134 ListUtils.GetStr( TopList, TopListCount, x ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 135 (* x now ought to contain a module name *) 136 INC( TopListCount ); ***** ^ undeclared identifier ***** ^ not supported yet 137 GenLists.GetChildList( TopList, TopListCount, SubList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 138 IF GenLists.Initialized( SubList ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 139 GenLists.SortList( SubList, Alphabetize ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 140 StrEdit.Append( WorkStr, 'FROM ' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 141 StrEdit.Append( WorkStr, x ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 142 StrEdit.Append( WorkStr, ' IMPORT ' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 143 SubListCount := 1; 144 LOOP 145 ListUtils.GetStr( SubList, SubListCount, x ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 146 StrEdit.Append( WorkStr, x ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 147 INC( SubListCount ); ***** ^ undeclared identifier ***** ^ not supported yet 148 IF SubListCount > GenLists.ListLength(SubList) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 149 StrEdit.Append( WorkStr, ';' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 150 EXIT; 151 ELSE 152 StrEdit.Append( WorkStr, ', ' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 153 END; 154 END; 155 ELSE 156 (* This is a FromLess import *) 157 StrEdit.Append( WorkStr, 'IMPORT ' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 158 StrEdit.Append( WorkStr, x ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 159 StrEdit.Append( WorkStr, ';' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 160 END; 161 GenLists.ListInsert( WorkStr, GenLists.StrCode, OutList, 65535 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 162 UNTIL TopListCount = TopListEnd; 163 GenLists.SortList( OutList, Alphabetize ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 164 ListUtils.CheckLength( OutList, 5, 75 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 165 END MakeSortedImpList; ***** ^ not supported yet 166 167 168 PROCEDURE InImportList( VAR TheWord: ARRAY OF CHAR; ImportList: ***** ^ not supported yet 169 GenLists.GenList; VAR ModuleName: ARRAY OF CHAR ): BOOLEAN; ***** ^ not supported yet ***** ^ not supported yet 170 VAR 171 SubList: GenLists.GenList; ***** ^ not supported yet 172 TopListCount: CARDINAL; 173 BEGIN 174 TopListCount := 0; 175 REPEAT 176 INC( TopListCount ); ***** ^ undeclared identifier ***** ^ not supported yet 177 ListUtils.GetStr( ImportList, TopListCount, ModuleName ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 178 INC( TopListCount ); ***** ^ undeclared identifier ***** ^ not supported yet 179 GenLists.GetChildList( ImportList, TopListCount, SubList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 180 IF GenLists.Initialized( SubList ) AND StrInList(TheWord, SubList) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 181 RETURN TRUE; 182 END; 183 UNTIL TopListCount = GenLists.ListLength(ImportList); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 184 RETURN FALSE; 185 END InImportList; ***** ^ not supported yet 186 187 188 PROCEDURE IsModuleName( ModuleName: ARRAY OF CHAR; ImportList: ***** ^ not supported yet 189 GenLists.GenList; VAR SubList: GenLists.GenList ): BOOLEAN; ***** ^ not supported yet ***** ^ not supported yet 190 VAR 191 TopListCount: CARDINAL; 192 tmpstr: ARRAY [0..79] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 193 BEGIN 194 TopListCount := 0; 195 GenLists.NilList( SubList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 196 REPEAT 197 INC( TopListCount ); ***** ^ undeclared identifier ***** ^ not supported yet 198 ListUtils.GetStr( ImportList, TopListCount, tmpstr ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 199 INC( TopListCount ); ***** ^ undeclared identifier ***** ^ not supported yet 200 IF PosUtils.Equal( ModuleName, tmpstr ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 201 GenLists.GetChildList( ImportList, TopListCount, SubList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 202 RETURN TRUE; 203 END; 204 UNTIL TopListCount = GenLists.ListLength(ImportList); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 205 RETURN FALSE; 206 END IsModuleName; ***** ^ not supported yet 207 208 209 PROCEDURE QualifyAll(); 210 VAR 211 TopListCount: CARDINAL; 212 tmpstr: ARRAY [0..79] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 213 ModuleName: ARRAY [0..31] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 214 TextEnd, ImportsEnd, LastLine : CARDINAL; 215 LocalNilList, SubList: GenLists.GenList; ***** ^ not supported yet 216 BEGIN 217 LastLine := 0; 218 TextEnd := GenLists.ListLength(TextList); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 219 ImportsEnd := GenLists.ListLength(Imports); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 220 REPEAT 221 NextWord( CurrentWord ); ***** ^ not supported yet ***** ^ not supported yet 222 IF InImportList( CurrentWord, Imports, ModuleName ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 223 M2Strings.Insert( '.', Parser.TheLine, Parser.LastIndex ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 224 M2Strings.Insert( ModuleName, Parser.TheLine, Parser.LastIndex ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 225 GenLists.ListReplace( Parser.TheLine, GenLists.StrCode, TextList, LineCnt ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 226 INC( ColCnt, M2Strings.Length(ModuleName) + 1 ); ***** ^ undeclared identifier ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 227 END; 228 IF LineCnt > LastLine THEN 229 StringIO.WriteStr( StringIO.outp, '.' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 230 LastLine := LineCnt; 231 END; 232 UNTIL LineCnt >= TextEnd; 233 TopListCount := 0; 234 GenLists.NilList( LocalNilList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 235 REPEAT 236 INC( TopListCount, 2 ); ***** ^ undeclared identifier ***** ^ not supported yet 237 GenLists.ListReplace( LocalNilList, GenLists.ListCode, Imports, TopListCount ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 238 (*ListReplace takes care of deallocating the old list. 239 Note that we don't do GetChildList's and 240 DisposeList's because that wouldn't nil out the copy 241 of the pointer that's in the Imports list.*) 242 UNTIL TopListCount >= ImportsEnd; 243 END QualifyAll; ***** ^ not supported yet 244 245 246 PROCEDURE UnqualifyAll(); 247 VAR 248 ModuleName, tmpstr: ARRAY [0..31] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 249 SubList: GenLists.GenList; ***** ^ not supported yet 250 LastLine : CARDINAL; 251 BEGIN 252 LastLine := 0; 253 REPEAT 254 NextWord( CurrentWord ); ***** ^ not supported yet ***** ^ not supported yet 255 IF IsModuleName( CurrentWord, Imports, SubList ) AND ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 256 (Terminator = '.') THEN 257 M2Strings.Assign( CurrentWord, ModuleName ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 258 NextWord( CurrentWord ); ***** ^ not supported yet ***** ^ not supported yet 259 IF NOT GenLists.Initialized( SubList ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 260 GenLists.NewList( SubList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 261 GenLists.ListReplace( SubList, GenLists.ListCode, Imports, ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 262 GenLists.ElmtNow(Imports) ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 263 END; 264 IF NOT StrInList( CurrentWord, SubList ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 265 GenLists.ListInsert( CurrentWord, GenLists.StrCode, SubList, 65535 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 266 END; 267 StrEdit.Append( ModuleName, '.' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 268 StrEdit.ReplaceStr( ModuleName, '', Parser.TheLine ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 269 GenLists.ListReplace( Parser.TheLine, GenLists.StrCode, TextList, LineCnt ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 270 DEC( ColCnt, M2Strings.Length(ModuleName) + 1 ); ***** ^ undeclared identifier ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 271 END; 272 IF LineCnt > LastLine THEN 273 StringIO.WriteStr( StringIO.outp, '.' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 274 LastLine := LineCnt; 275 END; 276 UNTIL LineCnt >= GenLists.ListLength(TextList); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 277 END UnqualifyAll; ***** ^ not supported yet 278 279 280 BEGIN 281 IF NOT EnvironUtils.ParsedParam( 1, fname1 ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 282 StringIO.WriteStr( StringIO.outp, 'File name: ' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 283 StringIO.ReadStr( StringIO.inp, fname1 ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 284 IF M2Strings.Length(fname1) = 0 THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 285 RETURN; ***** ^ bad RETURN 286 END; 287 END; 288 PosUtils.CaseSensitive := FALSE; ***** ^ not supported yet ***** ^ not supported yet 289 IF NOT PosUtils.Present( '.', fname1 ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 290 StrEdit.Append( fname1, '.mod' ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 291 END; 292 PosUtils.CaseSensitive := TRUE; ***** ^ not supported yet ***** ^ not supported yet 293 IF NOT EnvironUtils.ParsedParam( 2, Dumstr ) THEN ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 294 Qualifying := yes( 'Qualify all imported identifiers? '); ***** ^ not supported yet ***** ^ not supported yet 295 IF Qualifying THEN 296 Unqualifying := FALSE; 297 Sorting := FALSE; 298 ELSE 299 Unqualifying := yes( 'Unqualify all qualified identifiers? '); ***** ^ not supported yet ***** ^ not supported yet 300 IF Unqualifying THEN 301 Sorting := FALSE; 302 ELSE 303 Sorting := yes( 'Sort identifiers in present import list? '); ***** ^ not supported yet ***** ^ not supported yet 304 END; 305 END; 306 ELSE 307 Sorting := CAP(Dumstr[0]) = 'S'; ***** ^ undeclared identifier ***** ^ not supported yet ***** ^ not supported yet 308 Qualifying := CAP(Dumstr[0]) = 'Q'; ***** ^ undeclared identifier ***** ^ not supported yet ***** ^ not supported yet 309 Unqualifying := CAP(Dumstr[0]) = 'U'; ***** ^ undeclared identifier ***** ^ not supported yet ***** ^ not supported yet 310 END; 311 312 LineCnt := 1; 313 ColCnt := 0; 314 StartOfImpList := 0; 315 EndOfImpList := 0; 316 GenLists.NewList( TextList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 317 StringIO.PrintMessage( ListUtils.TextFileToList( fname1, TextList ) ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 318 LastWord := ''; ***** ^ not supported yet ***** ^ incompatible assignment 319 CurrentWord := ''; ***** ^ not supported yet ***** ^ incompatible assignment 320 321 ImpLists.ExtractImportList( TextList, Imports, StartOfImpList, EndOfImpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 322 323 IF Qualifying THEN 324 QualifyAll(); ***** ^ not supported yet ***** ^ not supported yet 325 ELSIF Unqualifying THEN 326 UnqualifyAll(); ***** ^ not supported yet ***** ^ not supported yet 327 END; 328 IF StartOfImpList > 0 THEN 329 MakeSortedImpList( Imports, TmpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 330 GenLists.DisposeList( Imports ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 331 GenLists.ListDelete( TextList, StartOfImpList, EndOfImpList - ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 332 StartOfImpList + 1 ); ***** ^ not supported yet 333 GenLists.ListInsert( '', GenLists.StrCode, TextList, StartOfImpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 334 (* insert a blank line to separate imports from rest of 335 program *) 336 InsertElmts( TmpList, TextList, StartOfImpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 337 GenLists.DisposeList( TmpList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 338 END; 339 StringIO.PrintMessage( ListUtils.TextListToFile( TextList, fname1 ) ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 340 GenLists.DisposeList( TextList ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 341 END Importer. 510 errors