| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857 |
- 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
|