Commit graph

1072 commits

Author SHA1 Message Date
ceriel db43d1d8a7 Added definitions for "alloc", "hard_alloc". 1986-12-03 13:02:37 +00:00
ceriel 3e4629b077 made to work on small machines. 1986-12-02 16:16:08 +00:00
ceriel 149c764ca1 Added -i to LDFLAGS. 1986-12-02 11:25:51 +00:00
ceriel 36adbe54a5 Removed some signal handling stuff. The Ack-program should do that. 1986-12-01 09:43:00 +00:00
ceriel 00a2314999 make to work with newer version of LLgen. 1986-11-24 21:24:42 +00:00
ceriel 3b2d51a96b Initial revision 1986-11-24 20:42:13 +00:00
ceriel eba14fa801 Bug fix in "inc loc adi" patterns and the like. 1986-11-24 10:42:29 +00:00
ceriel 45f608bac0 Initial revision 1986-11-11 13:44:58 +00:00
ceriel fb16148641 Adapted to use of GCIPM. 1986-11-11 13:44:13 +00:00
ceriel 3bc3818955 Adapted to use General C Identifier processing Module (GCIPM).
Also changed so that output for "cid" or "cpp" is in alphabetical order.
1986-11-11 13:42:42 +00:00
ceriel 3860ab6f68 Adapted to new versions of programs 1986-11-11 13:42:16 +00:00
ceriel 94634ace27 Initial revision 1986-11-11 13:34:20 +00:00
ceriel 87af36724b Avoid a bug in the C-optimizer of 4.1 BSD. 1986-11-07 17:54:30 +00:00
ceriel 7fd4e395da Constants changed to more sensible values. 1986-11-07 16:20:33 +00:00
ceriel 981bea82f4 Added "register" to a declaration. 1986-11-07 16:01:45 +00:00
ceriel a761166dfa *** empty log message *** 1986-11-05 21:31:23 +00:00
ceriel 97e027db33 Added some code to skip to EOF with LL_NEWMESS. 1986-11-03 14:09:28 +00:00
ceriel 7d2ee932e9 That was: LL_NEWMESS, not LL_NEWMESSAGE! 1986-11-03 10:28:21 +00:00
sater 79a736a9f6 Output was wrong with maxmembers<2 1986-11-03 09:13:32 +00:00
ceriel a0a3f2d2b6 Added code that calls LLmessage(-1) when needed, and when LL_NEWMESS is
defined.
1986-10-29 11:30:50 +00:00
ceriel eedc332a04 Added "nflag". 1986-10-29 11:29:47 +00:00
ceriel ee27adc926 Added nflag, that allows the LLmessage(-1) call, to indicate garbage
at end of program.
1986-10-29 11:27:47 +00:00
ceriel de5ac65dd6 Bug fix. Error recovery did not always work as expected. The generated
parser sometimes assumed that a token would not be deleted, and inserted
tokens in front of it, and then deleted the token after all. It should
at each error, first delete, and then insert.
1986-10-29 11:16:55 +00:00
ceriel 200034075d Some name changes in ../../modules/lib. 1986-10-28 17:04:40 +00:00
ceriel aac1207beb Error messages are printed differently now. A '%' in an error message
used to cause difficulties.
1986-10-22 15:30:46 +00:00
ceriel c19358ee50 Bug fix involving '\\'. 1986-10-22 13:36:22 +00:00
ceriel 0595f74596 minor simplification. 1986-10-22 13:36:04 +00:00
ceriel cb2543df8a Improved the "clean"-entry 1986-10-20 14:58:25 +00:00
ceriel 8129bf95a4 Initial revision 1986-10-20 14:56:37 +00:00
ceriel 991df05826 *** empty log message *** 1986-10-20 14:42:41 +00:00
ceriel d8ba814b26 Adapted to the use of ../../modules/lib/libstr.a 1986-10-20 13:59:14 +00:00
ceriel 11d442c0a0 Use our own string-routines "strindex" and "strrindex". At least we
know their name!
1986-10-20 13:52:16 +00:00
ceriel 784bd9ec54 Use our own string routines strindex and strrindex. At least we know
their name!
1986-10-20 13:48:26 +00:00
ceriel 84f0869fde Fixed a bug: ack could not see the difference between ".mod" and ".m".
This is corrected.
1986-10-20 13:47:26 +00:00
ceriel 3a076895bb Caused a core dump on 68000-based machines (read: non-VAX) when called
at a certain (high) level of verbosity, -v5 for instance.
Cause: a null-reference. This is fixed.
1986-10-20 13:28:59 +00:00
ceriel baf5b74da2 A new version, that no longer tries to move all null parts to the end
of a segment. It also uses the "object" library to read and write ACK-
object files and libraries.
1986-10-20 10:17:57 +00:00
ceriel 8ffde3c86a I don't really know why, but the file was changed. 1986-10-20 09:35:51 +00:00
ceriel bfad7d30f0 Added a pattern for "ldc ads". 1986-09-24 12:17:25 +00:00
ceriel a2599744f0 Addition of new patterns. 1986-09-23 09:41:47 +00:00
em c685aa11b5 set limit on optimization passes to prevent loop
in optimizer in case of bad table.
1986-09-09 13:10:15 +00:00
sater 14b982346f Error fixed where w==2 was assumed 1986-08-28 10:28:42 +00:00
ceriel 2acc260239 Adapted so that anybody can do "make install". 1986-07-22 10:47:51 +00:00
ceriel 3c76cbaa1e Some changes needed for the new 4-4 Pascal compiler. 1986-07-21 09:53:44 +00:00
sater f1a0c90fb1 removed sanity checking on result from sprintf
System IIIish systems seem to have their own idea.
1986-06-17 09:13:11 +00:00
ceriel db258b68ea Increased the size of the expression node table. 1986-06-05 13:56:31 +00:00
sater 5a84f07281 Non existing token fields in the format string caused memfaults
because fields were checked beyond the end of the tokeninfo. Fixed.
1986-05-21 15:08:57 +00:00
sater 5c71bad6e1 Relaxed input syntax for from STACK coercions
No gen clause is necessary anymore.
1986-03-19 16:14:12 +00:00
keie 7592c2cb1a Adapted to our ack environment. 1986-02-11 11:22:43 +00:00
bal b48d45c38d increased STACK_DEPTH from 50 to 250 1986-02-10 11:04:33 +00:00
ceriel e2cfecffe3 Added some new patterns involving multiplies with 0, 1 etc. 1986-02-10 10:14:41 +00:00
em f3e2248cc4 fixed bug in number() -- hex letters mistreated 1986-02-03 14:30:19 +00:00
sater ef48465b2a Hex numbers didn't work. Corrected bug in myatoi(). 1986-01-24 16:08:34 +00:00
dick d112eb710c adapted to phototypesetter 1986-01-20 20:39:09 +00:00
sater a91e33ce96 Corrected error in otime of initialisation of booleans 1985-12-02 13:55:06 +00:00
ceriel 5b09f4211d A minor change in the LL.output format. 1985-11-26 13:27:51 +00:00
ceriel 4b31842ecc Remove targets before installing new ones 1985-11-25 16:26:59 +00:00
ceriel 7e978197d2 New manual page for a completely new version of LLgen. 1985-11-25 16:00:18 +00:00
ceriel 1284cf0187 Changed dependancies 1985-11-25 15:57:43 +00:00
ceriel fb36b6b633 New version of LLgen, new version of this Makefile ... 1985-11-25 15:52:56 +00:00
ceriel 8b48512de7 New version, with a much faster parser. 1985-11-25 15:50:51 +00:00
ceriel 70a5d416d1 New version, much faster 1985-11-25 15:50:19 +00:00
ceriel 42d0e056fb Completely new version, generating a much faster parser 1985-11-25 15:48:42 +00:00
ceriel f055d610d3 Completely new version, generating a much faster parser. 1985-11-25 15:47:51 +00:00
keie 2e947a5e91 BSD4.3 size returns an error when it cannot find one of
its arguments.
1985-10-15 15:47:12 +00:00
ceriel e494e09063 Initial revision 1985-10-03 18:31:47 +00:00
ceriel aab6140bfa different interface. 1985-10-03 17:19:14 +00:00
bal dcb4b71a3d 0 / -1 confusion for properties (bug reported by sater). 1985-10-03 14:41:44 +00:00
ceriel d07e8114c6 More safety, also after terms and nonterminals. 1985-10-03 12:38:55 +00:00
ceriel ca4cc6fe80 Initial revision 1985-10-03 10:35:55 +00:00
ceriel 6b74749c12 Initial revision 1985-10-03 10:25:23 +00:00
ceriel b83ab7873e A more precise safety after a term. 1985-10-02 22:49:16 +00:00
ceriel 73153b484b Initial revision 1985-10-02 22:20:04 +00:00
bal 8668e313f8 bug fixed: same problem as in r1.3, now with csb.
Solution: only do block fusion if first block end on bra.
1985-09-19 11:14:55 +00:00
bal a18c5dd9c4 bug fixed: last instruction of first block in block fusion optimization
can be a conditional branch. (bug detected by Ceriel).
1985-09-18 16:27:29 +00:00
bal 53f6b51cde sprintf does not return pointer to string so the assert(s==string) does
not make any sense.
1985-09-06 11:39:06 +00:00
bal 6a4d9703cc exit(0) added (trouble with make) 1985-09-06 11:38:00 +00:00
keie 6f22e5b7d9 %D => %ld 1985-06-21 12:55:17 +00:00
keie 3e6e781c8d Now using AALMAG instead of ARMAG for led libraries. 1985-06-12 10:31:28 +00:00
keie 8749fb1da8 Using new magic number for 'aal' archives. 1985-06-10 12:41:51 +00:00
keie dacde83aae Removed debugging printout. 1985-06-10 11:23:22 +00:00
keie 42c2a9754f Adapted by Sjoerd to amoeba. 1985-06-10 10:53:15 +00:00
keie 44ccf469d9 Changed to get led working under amoeba.
Author: K.S. Mullender.
1985-06-10 10:48:49 +00:00
keie 177af75c93 *** empty log message *** 1985-05-13 11:19:24 +00:00
keie f90babad30 Adapted to installation in the EM tree. 1985-05-13 11:09:53 +00:00
keie eb025dae5c Added a message to the effect that 'local commons' can not be handled. 1985-04-29 11:55:30 +00:00
keie 7b6ed6733f Added assignment for debuuging info. 1985-04-19 13:28:56 +00:00
keie 78961d37c1 Now using out.h from ../../h 1985-04-18 15:22:22 +00:00
keie b391be598b Now using arch.h, out.h and ranlib.h from ../../h 1985-04-18 15:21:16 +00:00
em f70b857d1b Added pmds4. 1985-04-14 13:22:26 +00:00
keie 022cb596be *** empty log message *** 1985-04-12 15:06:05 +00:00
keie 9eb53c3d47 *** empty log message *** 1985-04-12 14:59:45 +00:00
keie dfcfa9883b Initial revision 1985-04-12 14:55:00 +00:00
em 491040b2c7 *** empty log message *** 1985-04-12 14:01:20 +00:00
keie bae4084355 *** empty log message *** 1985-04-12 11:25:21 +00:00
em c1d5a0c721 Changed 8080 into i80. 1985-03-18 14:44:15 +00:00
bal c478b62711 bug fixed in kill_much():
for ( .. ; i != (Lindex) i; ..  ) should be
for ( .. ; i != (Lindex) 0; ..  ).
1985-02-28 10:35:57 +00:00
bal d5098fe70f Bug fixed: co_lfirst received wrong value for multiply-optimization. 1985-02-25 14:03:09 +00:00
bal 469d075e77 Calls of which the actual and formal parameters do not match
are no longer substituted inline.
1985-02-20 15:01:02 +00:00
bal 7397122695 p_use->u_ext field deleted from showptable() 1985-02-19 11:16:11 +00:00
bal abcbc93b5d Dependencies for .m files added. 1985-02-19 11:13:13 +00:00
keie b449b94b48 Removed nascom from linked list. 1985-02-18 23:06:13 +00:00
keie 7d85a4c0b3 Added link to 6805. 1985-02-18 23:01:05 +00:00
bal 66ab97d2b0 bug fixed: lifetime of an item was too short; it should also cover
any live/dead message prior to its initial live-message.
1985-02-18 15:14:22 +00:00
keie 241a7de970 The PDP 11 needs -i, Vax'en ignore it. 1985-02-18 12:45:31 +00:00
bal a1c2dadb2a Compare group (cmp,cmi,cmu,cms,cmf) added as cheap operators. 1985-02-15 13:18:57 +00:00
bal e704ddc158 restructured. 1985-02-11 10:52:49 +00:00
bal f7699474b8 The binaries of the phases of ego are now put in a single directory. 1985-02-11 10:07:47 +00:00
bal 6909adbf9c Macros newcflpx and oldcflpx added. 1985-02-11 09:52:11 +00:00
bal 156775643e Include files and declaration of em_flag added. 1985-02-11 09:51:02 +00:00
bal d41c902b12 Memory allocation/deallocation for extends changed. 1985-02-11 09:48:32 +00:00
bal b99ce86e16 register save costs changed: they are now linearly dependent on
the number of registers to be saved (for time).
1985-01-30 15:43:02 +00:00
bal bec394f7bd Entry for LOI changed from CLASS1 to CLASS12. 1985-01-30 14:49:03 +00:00
bal db19d06f61 CLASS12 added for the LOI instruction. A "LOI n", n < wordsize,
loads wordsize bytes, not n bytes.
1985-01-30 14:47:49 +00:00
bal 31eab814f2 Debugging procedure print_allocs now writes to stderr. 1985-01-30 10:52:33 +00:00
bal 7f9dd27dc8 bug fixed: assemble_allocs() did generate whole_procedure allocations.
These allocations were initialized with a very low profit. Consequently
account_regsave rejected these allocations.
Solution: repl_allocs() updates the al_profits field of the
whole_procedure allocation.
1985-01-30 10:47:47 +00:00
bal 387191a2c7 bug fixed: oldmap(lmap,llength) was sometimes called when no new map
had to be allocated for the current (data-) unit.
1985-01-28 11:38:06 +00:00
bal a49f2d23f7 Number of address registers decreased from 5 to 4. 1985-01-25 13:24:12 +00:00
bal 66eabbcddf parameter of fscanf changed from "%d" to "%hd" to read a short. 1985-01-23 16:28:58 +00:00
bal 468401cb81 core allocation macros added. 1985-01-23 16:27:47 +00:00
bal cac6ffd8c2 ovfl_harmful and arrbound_harmful turned into ints 1985-01-23 16:25:29 +00:00
bal d32d4e6ba0 Interface of tmplocal() changed: second parameter is a long now 1985-01-23 16:23:15 +00:00
bal 5cad6f6aa7 interface with tmplocal() changed: second parameter is a long now. 1985-01-23 16:18:33 +00:00
bal e46c49e291 bug fixed in get_instrs(): instr should be an int rather than a Celem_t. 1985-01-23 16:16:49 +00:00
bal 5a95c31414 bug fixed in last_mnem(): test on nil-pointer.
bug fixed in try_tail(): add line "if(l1==0||l2==0) return FALSE".
1985-01-23 16:13:57 +00:00
bal f487f26e00 bug fixed in last_line() : assert(l!=0) should be assert(lines!=0). 1985-01-23 16:12:21 +00:00
bal e95492dfb0 bug fixed in routine get_ca_lines(): test on nil-pointer. 1985-01-23 16:10:43 +00:00
bal fefe15a844 init_regcnt renamed initregcnt to avoid name conflict.
bug fixed in routine fits_in(): test on nil-pointer.
routine choose_location(): interface with tmplocal() changed, second
parameter now is a long, so a cast is added.
1985-01-23 16:07:09 +00:00
bal 3d2c33e277 rules for itemtab.h and makeitems added. 1985-01-23 15:50:17 +00:00
bal 2ea3be322d clean_items renamed cleanitems to avoid name conflict.
clean_timeset renamed cleantimeset to avoid name conflict.
bugs fixed: calls to fscanf() with a pointer-to-short as argument
should provide a "%hd" instead of "%d".
1985-01-23 15:45:58 +00:00
bal 2d8dcaa2df Initial revision 1985-01-18 09:59:09 +00:00
sater dac2f97109 extra define added to aid in generation of DO_RREMOVE 1985-01-11 09:42:17 +00:00
sater 3a528a7324 code was added to generate DO_RREMOVE 1985-01-11 09:41:47 +00:00
sater 3534869cb5 code was added to cause generation of DO_RREMOVE in some cases 1985-01-11 09:41:13 +00:00
sater e9b6045b5a diffs were applied to make default register property at stacking rule
-1 instead of 0.
1985-01-11 09:40:40 +00:00
sater a1a8fd99a0 Optional register property in stacking rules must be -1 when absent.
Fixed this.
1985-01-10 16:30:09 +00:00
duk d7fb9edfe2 Maybe some minor changes. 1985-01-10 13:35:39 +00:00
duk 58126396af Added call to trap signals. 1985-01-10 13:24:36 +00:00
duk 55017702e2 Header and section table now allocated statically. 1985-01-10 13:22:04 +00:00
duk 7d312abd59 Inline expansion of index_adjust() and compute_origins().
Section table now allocated statically.
1985-01-10 13:19:47 +00:00
duk ba826bad5c Added routine to check signals. 1985-01-10 13:17:22 +00:00
duk f532b58045 Added provisions for copying everything after the string area into the
resulting object file. Because this is most likely symbolic debugging
information, these are parametrized by #ifdef SYMDBUG.
1985-01-08 11:54:57 +00:00
sater 72b83cca59 *** empty log message *** 1985-01-08 09:59:28 +00:00
sater c2229e5c60 Initial revision 1985-01-04 14:05:25 +00:00
keie 57115f49cc Take precautions against an already existing march. 1985-01-01 21:32:02 +00:00
keie fe6eed6c76 Added RCS identification. 1985-01-01 18:35:40 +00:00
keie 0ebd337637 *** empty log message *** 1985-01-01 18:34:12 +00:00
bal ffb167e8b2 lay-out enhanced; flags (CFLAGS etc.) inherited from central Makefile;
entry for compiling this phase with ack -O created.
1984-12-21 14:41:47 +00:00
keie 8636bd025e Added machines to be sent with the second distribution to the LNTABLES. 1984-12-18 15:28:19 +00:00
keie a5e9c4f8d1 *** empty log message *** 1984-12-17 15:52:04 +00:00
keie 8c874d4632 Run $RANLIB if the shell variable is set. 1984-12-17 15:50:02 +00:00
sater d267037189 *** empty log message *** 1984-12-17 15:13:39 +00:00
bal 98989fd9ca Initial revision 1984-12-10 13:36:12 +00:00
keie 9932e38ab2 Removed the definition of the NEEDS variable. 1984-12-10 12:49:56 +00:00
ceriel 7f12f20be6 Removed a reference to a non existing Makefile ( in the lib directory). 1984-12-07 15:21:25 +00:00
bal 9019141137 Bug fixed in optimizing two adjacent basic blocks. 1984-12-07 14:19:53 +00:00
ceriel 2c7c97051b Changed so that the installation process will continue if LLgen
is not present yet.
Also added Makefile to the "make pr" entry.
1984-12-06 10:39:28 +00:00
bal 4e461a9860 Initial revision 1984-12-04 15:04:44 +00:00
bal 3cdaf9f4ba WORDLENGTH now defined in automatically generated file wordlen.h
Generate this file from makewlen.c
1984-12-04 15:04:01 +00:00
bal 0d0e2d2d22 WORDLENGTH now defined in automatically generated file worlen.h 1984-12-04 15:03:22 +00:00
bal 8d659c015f Bug fixed: fill_item() should initialize item->it_desirable to TRUE. 1984-12-04 14:41:20 +00:00
bal 9b72991e27 regsave_cost() return void instead of short. 1984-12-04 13:04:27 +00:00
bal 8db2c12881 regsave_cost() returns void instead of short. 1984-12-04 13:03:49 +00:00
bal ee3ef338db Comment closer ("*/") added to description of getlines(). 1984-12-03 12:12:37 +00:00
ceriel 7e3e49082c Increased MAXPATLEN to 8000. 1984-11-30 11:14:18 +00:00
bal 0778ce4a9a Macros for B_DIST, B_USECNT and B_MARK removed, as these fields are
no longer used.
Declarations of nrinstrs and instrmap marked "extern" to satisfy ack compiler.
1984-11-30 10:52:05 +00:00
bal 7351e38ed5 Declaration of items[] made static to avoid name conflict with ra_items.c
Core allocation macros added.
1984-11-30 10:50:27 +00:00
bal bac0efbedb Declaration of items[] made static to avoid name conflict with ra.c 1984-11-30 10:49:09 +00:00
bal 302608566a routines getcall(), get_text() and getcc() move from get.c to this file
routines putactuals(), putcall(), and putcc() move from put.c to this file
get.h, put.h, stdio.h, em_mnem.h and em_pseu.h included
1984-11-30 10:30:22 +00:00
bal c814b9523d several data structures added (moved from types.h).
core allocation macros added.
1984-11-30 10:28:35 +00:00
bal 39891edd12 Declarations for iv and code_info added (moved from types.h).
core allocation macros added.
1984-11-30 10:27:05 +00:00
bal 90df1e5b9a core allocation macros added 1984-11-30 10:25:21 +00:00
bal 1e69d3458c declaration for sym,num and prc added (moved from types.h) 1984-11-30 10:24:21 +00:00
bal 6988358e29 ic.h included before ic_lookup.h 1984-11-30 10:23:34 +00:00
bal 49137da06b Lots of procedures removed (turned into macro in alloc.h or
moved to one specific phase).
1984-11-30 10:15:24 +00:00
bal 594a5bb49b Lots of data structures removed and made local to one specific phase. 1984-11-30 10:14:30 +00:00
bal e5a282c621 Lots of procedure newxxx() and oldxxx() turned into macros.
Lots of such procedures removed and made local to one specific phase.
1984-11-30 10:12:37 +00:00
bal 4ab54c85a8 As getbblocks() was moved to cf.c, em_flag.h need no longer
be included.; also, the declaration for em_flag[] was removed.
1984-11-30 10:10:41 +00:00
bal b532117b2b -O flag removed 1984-11-29 16:25:08 +00:00
bal bda5c8409c macros newlvbx and oldlvbx added. 1984-11-29 15:10:11 +00:00
bal 8a15a3f597 macros newlocal() and oldlocal() moved to alloc.h 1984-11-29 14:40:31 +00:00
bal 0c0c3b7892 -O flag removed from CFLAGS 1984-11-29 13:33:33 +00:00
bal b0de601d5b -O removed from CFLAGS 1984-11-29 13:31:22 +00:00
bal 7767012a6e il_aux.h included (which now contains getcall(),putcall() etc.
routines that were peviously in get.c and put.c).
1984-11-29 11:08:15 +00:00
bal bd06330739 stdio.h included (required by new interface to get.h). 1984-11-29 11:06:23 +00:00
bal 84ed8ee7ef routines getcall(), get_text() and getcc() move from get.c to this file
routines putactuals(), putcall(), and putcc() move from put.c to this file
get.h, put.h, stdio.h, em_mnem.h and em_pseu.h included
1984-11-29 11:03:19 +00:00
bal f3e35f5432 routine getbblocks (plus its auxiliary routines) moved from get.c
to this file; core allocation macros newcfbx() and oldcfbx() added.
1984-11-29 10:51:16 +00:00
bal edcb838b98 newnametable() move from alloc.c to this file,
get_ca_lines moved from get.c to this file,
em_pseu.h and em_mes.h included (needed by get_ca_lines).
1984-11-29 10:31:44 +00:00
bal c17a52c09d stdio.h included (required by new get.h interface),
macros's newlocal() and oldlocal() added, replacing routines in
alloc.c with same name.
1984-11-29 10:25:21 +00:00
bal 0032ebfeda getbblocks(), getcall(), getcc() and get_text() removed,
get_ca_lines() removed,
curinp,lastbid,lastlabid exported
getbyte(),getshort(),getoff(),read_line and getlines() exported.
1984-11-29 10:18:53 +00:00
bal 582a0cc2aa getbblocks() removed (now local to CF phase),
getcall(),getcc() and get_text removed (now local to IL),
get_ca_lines() removed (now local to CA),
current input file "f" renamed "curinp" and exported,
getbyte (macro), getshort() and getoff() exported
read_line() and getlines() exported,
lastbid and lastlabid exported.
1984-11-29 10:15:23 +00:00
bal dd5ceb7b97 putcall an putcc removed,
curoutp, outbyte,outshort and outoff exported.
1984-11-29 10:11:37 +00:00
bal 470826f0c9 putcall and putcc removed (make local to IL phase)
current output file renamed "curoutp" and exported
outbyte, outshort and outoff exported.
1984-11-29 10:09:15 +00:00
bal 1cb39eff7e cleaned up 1984-11-28 09:26:44 +00:00
bal 502a7a86af Initial revision 1984-11-27 16:16:36 +00:00
bal 30ca0afe49 cleaned up 1984-11-27 15:52:23 +00:00
bal ad383cbdc0 stack_change was renamed stack_chg 1984-11-27 15:43:14 +00:00
bal 165965eadc Initial revision 1984-11-27 15:40:13 +00:00
bal a6d53a6bcd "ivars" was renamed "ivvars" to avoid name conflict with sr_expr.c 1984-11-27 15:30:34 +00:00
bal df200afd46 cleaned up 1984-11-27 15:04:04 +00:00
bal 9c3a416acd cleaned up; dependecies added. 1984-11-27 14:53:00 +00:00
bal 9e38bfa060 cleaned up. 1984-11-27 14:25:02 +00:00
bal 2d6eff961f cleaned up. use CC. 1984-11-27 14:23:20 +00:00
bal 0981b8857b getoff() moved to front (was called before being defined)
declaration char *pseudo[] changed to char *pseudo[5] to suppress warining
1984-11-27 14:21:55 +00:00
bal 69bdddd9ba "cc" replaced by $(CC) 1984-11-27 12:59:18 +00:00
keie 4a36e98f5c Treatment of -R flag is altered.
1 - if recognized by mapflag and not by Ack internally no
    complaint is given.
2 - If recognized by both mapflag and internally:
       -R....-.... : effectuate only mapflag command
       otherwise   : effectuate both.
3 - If not recognized at all, give a warning message and
    pass the flag to the linker.
1984-11-26 17:14:17 +00:00
bal c4b4a08720 Initial revision 1984-11-26 15:15:07 +00:00
bal 6d481ce4d6 Initial revision 1984-11-26 15:04:22 +00:00
bal 6a9e49f683 Initial revision 1984-11-26 14:51:59 +00:00
bal 1833451151 Initial revision 1984-11-26 14:35:32 +00:00
bal 9f778655a6 Initial revision 1984-11-26 14:14:55 +00:00
bal f01e1431b0 Initial revision 1984-11-26 14:07:17 +00:00
bal 415ae7e922 Initial revision 1984-11-26 13:58:05 +00:00
bal 7b798175ad Initial revision 1984-11-26 13:43:22 +00:00
keie 36c1f227ea Added a check for non-ascii characters in the description files. 1984-11-15 14:24:35 +00:00
ceriel 1fe1bc8c09 Forgotten to close a file. This is corrected. 1984-11-12 18:05:20 +00:00
keie 4e7f357a26 Added rcs identification. 1984-11-08 12:08:31 +00:00
keie cb84476be0 Added a check. Minis & shorties need an N or P argument. 1984-11-08 11:09:56 +00:00
ceriel 4d48191bcc The input routine used to skip space. This "feature" has been removed
because it is also used to read strings, in which space is significant.
1984-10-31 15:26:09 +00:00
ceriel da7230a8eb Running makedepend again gave a difference. 1984-10-26 10:31:22 +00:00
ceriel 1ca93d7aa1 removed the "depend" emtry, added a "distr" entry, which should be used
before a distribution is made.
Also added the -DNORCSID flag to the lint-options.
1984-10-26 10:25:55 +00:00
ceriel c5345aaaba Added a "distr" entry, which will be propagated to the src directory. 1984-10-26 10:24:48 +00:00
sater be9b72e273 added -h and -c flags, to change names of tables.h and tables.c respectively
now also takes an argument instead of stdin.
EM_BSIZE is now compulsory again.
Constants EM_?SIZE are passed on to cg with a T prepended (T for target)
1984-10-23 13:39:15 +00:00
ceriel 9eb72b6ee8 Had forgotten to initialise the line number on which a nonterminal
symbol occurred first.
1984-10-12 14:19:34 +00:00
ceriel bdc67c3332 The former version gave a fatal error message at the first undefined
nonterminal. The new version checks all nonterminals
1984-10-11 10:35:01 +00:00
ceriel a33d4cdbba The routine findpath did not work. It used the same static buffer for
several calls. Now it uses alloc.
1984-10-09 11:43:19 +00:00
ceriel c89acc55c7 added "#ifdef NORCSID" 1984-10-09 10:16:33 +00:00
ceriel d068cf64b3 Added some comments and removed some Lint complaints 1984-10-09 10:13:46 +00:00
ceriel 774ce1ecc3 Initial revision 1984-10-09 09:47:14 +00:00
ceriel dd1bcb3f60 The routine LLmessage did not insert tokens properly.
This is corrected now.
1984-10-09 09:33:37 +00:00
ceriel 317ab99ecf Changed RCSid 1984-10-08 17:11:03 +00:00
ceriel 474d9d6e0f Added RCSid. 1984-10-08 16:21:03 +00:00
ceriel a9a0339ec1 Adapted the libpath routine to use EM_DIR from ../../../h/em_path.h 1984-10-08 15:58:23 +00:00
ceriel 58b1dd5b6d Initial revision 1984-10-08 15:19:18 +00:00
ceriel a7c0f30307 Initial revision 1984-10-08 14:51:38 +00:00
ceriel de22c41214 Initial revision 1984-10-08 14:24:19 +00:00
ceriel a21f936651 Initial revision 1984-10-08 14:14:53 +00:00
keie 8958cb6faf Altered the test path lib/n_ack into the normal path ACK_PATH. 1984-10-05 15:07:47 +00:00
keie b5fa0675b6 Added a priority associated with each phase. Paths with the highest
total priority have preference.
1984-10-05 13:34:38 +00:00
keie 8e680a6467 1 - Added some debugging for linker flags.
2 - Setting of NEEDS and RTS is moved to main.c.
3 - Added recognition of -Rphase:[-]number for dynamic priority setting.
1984-10-05 13:31:40 +00:00
keie c4434ccbce 1 - Most flags used by ack itself are now also passed to the phases
for recognition with mapflag.
2 - A few bugs are removed in connection with argument passing to the
    linker (unrecognized flags and libraries).
3 - The setting of RTS, HEAD and TAIL is done directly after the
    path determination for each file.
1984-10-05 13:28:56 +00:00
keie 5376af0d04 1 - Added RCS identification.
2 - Removed the default for compiler and error file pathname.
    These are now always supplied by the callee.
1984-10-04 11:08:42 +00:00
keie 080555fffd Bug removed: the trailing zero at the end of a growstring was not
explicitly written in doassign(trans.c).
Only luck kept the program together.
1984-10-01 17:42:56 +00:00
em 2c4b17e464 Compile-time option GLOBAL_OPT defined. If set, the resulting
peephole optimizer will be suitable for optimizing the output of
the global optimizer. In particular, it doesn't change the register
messages.
1984-09-14 10:25:07 +00:00
keie c97e1a7bc2 1 - The prop keyword with is flags is now obsolete. Its function is
taken over by several other keywords: stdin, stdout, prep, optimizer,
    combiner and linker.
2 - The search order is changed. First {EM}/lib/{M}/descr, then
    {EM}/lib/ack/{M}, finally {M}.
1984-09-13 14:40:09 +00:00
keie c93761cadc The t_do bits are not set by this module. The t_next entry is used
to see whether the scan for this phase is already done.
t_do is now set in add_inputs(files.c).
1984-09-13 14:35:02 +00:00
keie aa4bae59e0 1 - The t_do flags is now set by add_inputs(files.c).
2 - Recognize the fact that it is possible to start a combiner without
    input files.
3 - Removed -d flag. Overflow for -v (>2) now ends up in debug.
    -v may be followed by a number indicating the increment.
1984-09-13 11:07:46 +00:00
keie 527726167a 1 - The outfile entry is only used when the output file must not be thrown
away.
2 - If a combiner has no named input file (only libs+flags) then issue
    a warning message and make up a name.
1984-09-13 11:04:00 +00:00
keie 3c300d3e1c No comment. 1984-09-10 16:51:02 +00:00
keie 8443ef3f8d Combiners (ego, linkers) now use a list of path's(ack.h) to indicate
their input files.
Unmatched flags are now sent to the linker.
1984-09-10 16:48:57 +00:00
keie 1188f0e810 1 - A transformation is succesfull when
a - a stopsuffix is indicated and met,
    b - the last transformation is included in the transformation path.
2 - Maintains a 'cash' of best paths for all transformation to be executed.
1984-09-10 16:46:13 +00:00
keie 1dba1f5328 The input file names of the linker are to be found in a different place. 1984-09-10 16:45:12 +00:00
keie 20100c69c7 1 - added keywords callname and outfile. See manual.
2 - multiple combiners are allowed now.
3 - A different search mechanism is used for finding descriptor files.
1984-09-10 16:42:55 +00:00
keie c504e2e22a 1 - callname recognition is moved to rmach.c.
2 - The overall scheme is altered.
	first, all input files are processed until a combining phase is met.
	then, all the combining phases are executed, the resulting files
	are again processed until a combiner (or final) phase is met.
3 - The EM_DIR shell variable can be used to set ack's idea of the EM
    home directory.
1984-09-10 16:37:11 +00:00
keie 31f96c6850 1 - The names of temporary files are now Ack'hex''unique'.'suffix'.
'hex' is the pid of the current invocation of ack in hex.
    'unique' is a tail unique to this invocation.
2 - The outfile field is used to indicate default naming, can be ovrrriden
    by the -o flag.
3 - Added handling for phases with multiple inputs (ego, linker).
1984-09-10 16:33:03 +00:00
keie 6eda6ac320 The role of the combiner is -partially- assumed by the linker.
Linker arguments are now part of the transformation structure.
Temp file nameing is changed.
1984-09-10 16:30:47 +00:00
keie 384bb7f6c4 Naming of the tempname is changed (see files.c). 1984-09-10 16:29:37 +00:00
sater 3744019c53 increased MAXNODES in small memory mode 1984-08-23 12:25:24 +00:00
keie 4759d84bdd Added comment. 1984-08-17 14:57:31 +00:00
keie c2f189c855 Added RCS identification. 1984-08-17 14:44:24 +00:00
sater 822b1c557c Revised to include rcsid of pattern file in binary opt 1984-08-16 16:08:39 +00:00
sater 744bc6845d enlarged string table in big memory case 1984-08-16 13:34:59 +00:00
sater d1b3479a55 added patterns to remove some more dup's 1984-08-15 16:04:19 +00:00
sater eebcf1b22c added patterns to remove as many dup's as possible. 1984-08-15 14:23:42 +00:00
sater b31c9f4a4a added definition of malloc().
Program crashed on 2/4 machines
1984-08-08 10:54:04 +00:00
sater eff0f36a5d added patterns for *p++ local and external p
added pattern to remove some badly placed dups
1984-08-03 16:37:15 +00:00
sater 59fa458a20 removed some superfluous patterns.
Were special cases not needed with the general case.
1984-08-03 13:16:59 +00:00
keie fe922d190d String initializer handling is changed.
Strings are now considered to be sequences of xU1's.
No alignment is done before or after the string other than the
alignment done for names and segment type switches.
1984-07-30 14:42:33 +00:00
sater 3b991bd1ce Archive made with archiver in environment ASAR if set, arch otherwise 1984-07-19 14:55:12 +00:00
sater 8483d153f2 changed name from comparchentry to compmodule 1984-07-19 13:22:36 +00:00
sater 1eade4ac9d Initial revision 1984-07-19 11:50:18 +00:00
sater 2943d957bb The patterns to change a cii to cuu when dealing with a known positive
quantity was technically wrong. Changed to generate a cui.
1984-07-18 15:54:25 +00:00
sater 0473678491 added patterns for unsigned shifting
added patterns to delay additive operations until after multiplicative,
  this can be useful for some register machines
1984-07-18 11:05:28 +00:00
sater fc59a0d703 Improved error handling on unterminated strings 1984-07-18 11:04:58 +00:00
keie c5d95ce75d *** empty log message *** 1984-07-13 15:20:58 +00:00
keie 73da8c2a2c The check for a too high offset in a hol is repaired. 1984-07-13 15:03:05 +00:00
keie 36af1e09be A bug in the exchange was repaired.
Exchanges across pseudo-instructions didn't work properly.
1984-07-13 15:01:23 +00:00
sater ea298b258e changed format of rcsid message 1984-07-12 15:18:13 +00:00
sater 2dc4c564e2 added rcsid 1984-07-12 14:55:49 +00:00
sater 96969afa26 Initial revision 1984-07-12 14:14:54 +00:00
keie 8c892e94eb asprint is removed at cleanup time. 1984-07-12 13:24:02 +00:00
keie 150bf2e6d4 1 - Dump has a parameter.
2 - Dump are enabled.
1984-07-12 13:23:03 +00:00
keie 25ffbc9e0c 1 - A header is treated as an unsigned number.
2 - The low order word of the size in archives is fetched as unsigned.
3 - Sizes are unsigned.
1984-07-12 13:20:48 +00:00
keie 706fe6d592 Parameter added to dump preprocessor variable. 1984-07-12 12:58:18 +00:00
keie d99c21963d 1 - Header fetch was changed to unsigned.
2 - Extra parentheses are needed by some compilers.
1984-07-12 12:57:36 +00:00
keie 28be8af452 Initial revision 1984-07-12 12:48:33 +00:00
sater 2f56cb1cad reworked to use ack instead of npc.
made more user-friendly (ha ha)
1984-07-12 10:42:33 +00:00
sater 6b9a8d8685 Now lexical analyzer skips lines starting with #
to kill off remnants of some preprocessor.
1984-07-12 10:18:19 +00:00
sater aa9d50ff5a The sequence:
lin 100
  cal $foo
  lin 101
used to have it's second lin lni'ed. This is obviously wrong.
A check is now made for procedure calls.
1984-07-12 09:29:49 +00:00
sater 8bd6bcfde0 Increased MAXINSTANCE in big memory model 1984-07-12 09:23:38 +00:00
keie fcf9595988 1 - added routines to read unsigned 16-bit numbers
2 - cleanup of writing of ABS block, was in error for wordsize>4.
3 - strings are now padded up to a multiple of the wordsize.
4 - the padding algorithm for alignment was in error for wordsize>2.
1984-07-02 16:01:50 +00:00
keie a54514d56f Not in the initial distribution. 1984-07-02 15:46:59 +00:00
keie e9aa4befbb Added asprint to list of files to remove with 'clean'. 1984-07-02 15:46:06 +00:00
keie 1e6b5059d0 1 - Altered an incorrect dependency for assrl.o
2 - Added asprint
1984-07-02 15:42:37 +00:00
keie 166bccd1b5 Initial revision 1984-07-02 15:35:56 +00:00
sater e30825a5dd Fixed bug: after BRA instruction was optimized away the variable lastbra
pointed to the instruction following. This could lead to anything,
including bus errors. Lastbra is now reset to 0.
Bug discovered at Philips PMDS by Hans de Vries. The fix is also his.
Actually the function cleaninstr should be rewritten.
1984-06-28 10:40:09 +00:00
sater 4f6d0dceae added rcsid 1984-06-26 10:08:37 +00:00
sater 91ad12242c Initial revision 1984-06-26 10:03:31 +00:00
keie 6061e972f1 artificial commit to compensate for changes in 93f3093f2b7e from a CVS
vendor branch
1984-06-21 13:13:10 +00:00
keie 9e60f90597 Some ad-hoc stuff for searching in the new tree shape.
--HG--
branch : unlabeled-1.1.1
1984-06-21 13:13:10 +00:00
keie 3cc1077553 Ack assumed that files resulting from transformations
would not need to be fed through a pre-processor.
This assumption proved false. Ack was altered and allows
use of a pre-processor on files produced by other passes.
1984-06-21 11:29:22 +00:00
em 8a90593fc0 Added warning about forthcoming shift/reduce conflict 1984-06-21 11:13:28 +00:00
keie df2d12c52d The slightly altered error message format greatly
enhances use of the pascal compiler under emacs.
1984-06-21 11:10:16 +00:00
keie bcac854101 Also remove the program, it should be installed by now. 1984-06-21 11:09:51 +00:00
keie 6e4d886bbe Initial revision 1984-06-21 11:09:15 +00:00
cvs2hg cbc1105dae fixup commit for branch 'unlabeled-1.1.1'
--HG--
branch : unlabeled-1.1.1
1984-06-21 10:58:00 +00:00
keie 3b4b7cac60 Initial revision 1984-06-21 10:57:59 +00:00
sater 584b41a09e Parametrized sizes for big or small machines using BORS macro
Added support for rcsid string from table.
1984-05-18 20:22:14 +00:00
sater 4daed9da6a added rcsid 1984-05-18 19:57:22 +00:00
sater 595f2b670b added rcsid
Separated pattern length's from EM-pattern and tokenpattern
1984-05-18 19:56:05 +00:00
sater 2014f2854c Initial revision 1984-05-18 19:51:06 +00:00
sater d34532e79d Incorporated variable length identifiers.
Courtesy Johan Stevenson
1984-05-18 13:04:34 +00:00
em 7ac5028864 added rcsid 1984-05-17 15:51:42 +00:00
em 5138be020c changed format of rcsid 1984-05-17 14:37:15 +00:00
em 7d36c44c56 changed rcsid to rcsid2 1984-05-17 14:28:57 +00:00
sater 3c197c150a added rcsid 1984-05-17 14:14:29 +00:00
sater 18ffd176ba added rcsid
added pattern for # comments
1984-05-17 14:13:36 +00:00
sater d78dadca3f added rcsid
added field to remember ms_gto
1984-05-17 14:13:06 +00:00
sater 4eb6ac7b9a added rcsid + some minor reshaping 1984-05-17 14:06:18 +00:00
sater b40016f6fd added rcsid 1984-05-17 13:57:07 +00:00
sater 29202fe224 added rcsid
Changed register message output to terminate with ms_gto, if input
  procedure contained one.
1984-05-17 13:56:00 +00:00
sater 7a8f9ed57c added rcsid
Recognize and process mes ms_gto
1984-05-17 13:54:01 +00:00
sater ac23d5c871 Initial revision 1984-05-17 13:42:36 +00:00