Commit graph

1339 commits

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