Commit graph

437 commits

Author SHA1 Message Date
ceriel 9e528bef6f Allow reading from standard input 1987-01-12 14:38:45 +00:00
ceriel 5ddf83ab5a force first line directive 1987-01-12 14:21:14 +00:00
ceriel 281f83968c This one works. 1987-01-12 14:06:47 +00:00
ceriel cb2b167849 New Makefile, also generating opt2 (t.i. peephole optimizer after global ..) 1987-01-12 14:01:26 +00:00
ceriel 896de3243e Corrected the "install" entry. 1987-01-12 12:30:16 +00:00
ceriel e5820bdbaa Added bitwise operators 1987-01-08 14:22:32 +00:00
ceriel cfc9f38ccd Generate line directives that are similar to the ones generated
by the Reiser preprocessor.
1987-01-08 12:42:44 +00:00
ceriel 0c5feb7493 wrong number of parameters no longer is an error. 1987-01-08 12:38:05 +00:00
ceriel be68581019 *** empty log message *** 1987-01-07 11:10:33 +00:00
ceriel 143b2531bb Initial revision 1987-01-06 15:16:53 +00:00
ceriel 9919cc1ba6 Introduced EMHOME. 1986-12-16 13:50:54 +00:00
ceriel 7d1822d04e Added EMHOME. 1986-12-10 15:30:42 +00:00
ceriel c501c762cf removed the -n flag, but not its effect. The generated parser will
call LLmessage(-1) when saying "garbage at end of input".
1986-12-10 09:32:57 +00:00
ceriel 91aad0b28e Improved relocation reading code for the !incore strategy. 1986-12-03 13:09:15 +00:00
ceriel 24b7ad602a Improved compactification code. It was much to persistent, and
also too greedy. This causes long LONG linking times.
The current version is less greedy, but also gives up more
easily. Linking times are acceptable now.
1986-12-03 13:06:48 +00:00
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