Commit graph

197 commits

Author SHA1 Message Date
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