137 Commits

Author SHA1 Message Date
David Given
1535c43648 Rename branch.
--HG--
branch : unlabeled-2.8.1-branch
2015-06-18 23:39:29 +02:00
keie
102c316142 Re-introduced the possibility of a Varying EM_BSIZE
this to be able to use the latest STABLE m68k2 backend.
All this until the newest m68k2 version has been tested.

--HG--
branch : unlabeled-2.8.1
1985-01-24 16:59:06 +00:00
cvs2hg
3703324c51 fixup commit for branch 'unlabeled-2.8.1'
--HG--
branch : unlabeled-2.8.1
1984-11-30 11:14:19 +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
em
7ac377c750 The routine salloc crashed on a 2/4 system.
Malloc was nor declared as "char *", but by default as int.
1984-11-30 00:16:29 +00:00
em
ad104f9164 I removed the unused integer deftype.
Its name collided with an array in symbols.c.
1984-11-29 17:27:00 +00:00
em
1b8f41d3b2 The definitions of lastline, currline and firstline are made
extern in graph.h. The space reserving declaration is made in
graph.c.
1984-11-29 17:26:44 +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
em
f6da80afd8 The first line should contain the distribution library name. 1984-11-29 15:03:41 +00:00
bal
8a15a3f597 macros newlocal() and oldlocal() moved to alloc.h 1984-11-29 14:40:31 +00:00
em
ae1e81adb1 *** empty log message *** 1984-11-29 14:22:02 +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
em
90c1dc7c06 Installed basic compiler in ACK tree. 1984-11-27 23:59:28 +00:00
em
39c37e9571 1 - Added RCS identification.
2 - Changed the file name parseparams.c into parsepar.c, the original
    name was too long for RCS under BSD4.1
3 - Adapted to ACK standard Makefile format(cmp,install,...)
4 - Included more dependencies.
1984-11-27 23:53:31 +00:00
em
3ceada5482 Added basic.doc. 1984-11-27 23:51:07 +00:00
em
3cab14d65e Added RCS identification. 1984-11-27 23:48:38 +00:00
em
7efc02574d *** empty log message *** 1984-11-27 23:46:32 +00:00
em
9f872a7ea0 Removed conflict between rcs_id in basic.yacc and lex.c. 1984-11-27 23:41:46 +00:00
em
ea5498cd99 Now using ACK default tmp directory from em_path.h. 1984-11-27 23:21:41 +00:00
em
455cd930ec Added RCS identification. 1984-11-27 23:13:28 +00:00
em
335d55ff4a The version of basic copied from Martin Kerstens directory. 1984-11-27 22:23:55 +00:00
em
4301dfb7bf The version of basic copied from Martin Kerstens directory. 1984-11-27 22:11:59 +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
keie
3c2c03165b This manual page was not included in the first distribution.
This version is hacked from the VU-Pascal distribution.
1984-11-26 15:56:57 +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
sater
5481dd47a9 added documentation for the fmt_id and fmt_ilb macros 1984-11-26 11:09:11 +00:00
sater
0a00b80726 Added support for the fmt_id and fmt_ilb macros 1984-11-26 10:50:46 +00:00
sater
6a4dc794a2 In the RREMOVE section of this file, the field e_con of the
expression union was used in stead of e_reg.
Fixed. Checked all other occurrances, are correct.
1984-11-20 16:56:26 +00:00
sater
7c07f91e1c The constant 512 slipped in instead of BUFSIZ.
Changed.
1984-11-20 10:22:12 +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
9f776924d6 Added a P for a specification of lal on line 51.
This missing letter caused lal -1 to be mapped on the opcode
for lal 0.
1984-11-08 11:11:31 +00:00
keie
cb84476be0 Added a check. Minis & shorties need an N or P argument. 1984-11-08 11:09:56 +00:00
bal
d07b17ca5c The routine con_float now generates a dummy floating point constant
and gives a warning, instead of generating a fatal error + abort.
1984-11-06 12:50:21 +00:00
bal
58c679c94c Patterns for floating point instruction and for LFR 8 and RET 8 added.
Each such instruction now results in a call to a library routine.
At present, all these routines generate an Illegal EM Instruction trap,
but anyone wishing to implement floating point for the 6502 can
do so without changing the back end table.
1984-11-06 12:47:26 +00:00
em
e2e78ccd0a The line with the user message for failure missed the call to echo. 1984-11-06 10:02:25 +00:00
bal
0d5a4693a7 make install also make a tail_mon now. 1984-11-05 15:58:11 +00:00
bal
95dd252a5b arguments for asld changed. several libraries added. 1984-11-05 15:29:48 +00:00
bal
87c5817216 program for be is {LIB}/cg instead of {LIB}/be 1984-11-05 15:13:20 +00:00
keie
b6cfa32faa *** empty log message *** 1984-11-05 15:11:19 +00:00
bal
b9ebdc1a07 em_head renamed head_em; em_tail renamed tail_em
installs tail_em rather than comparing it
1984-11-05 15:06:49 +00:00
em
73b651052e Added an example with segment prefixes. 1984-11-05 15:02:32 +00:00
em
6913efe107 Adapted to new tree shape for libraries and binaries. 1984-11-05 14:42:17 +00:00
em
3e7b7990f2 *** empty log message *** 1984-11-05 12:05:46 +00:00
em
9c66801439 *** empty log message *** 1984-11-05 11:55:15 +00:00
keie
2976b590af The flag -LIB was missing in the call to the shell-procedure
compmodule. Thus the generated libraries could not be effectively
used by our assembler/linker.
1984-11-05 11:37:23 +00:00
bal
a837112d99 Negation of negative operand with inc/dec added in certain cases.
Don't know effect for sure, author has left.
Added rcsid.
1984-11-02 11:09:46 +00:00
bal
13685d4bc0 Initial revision 1984-11-02 10:13:29 +00:00
sater
45887f2b72 Name of error file was wrong, it was the runtime error file instead
of the compile time error file.
1984-11-01 09:30:36 +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
keie
fedaa3267a Adapted to make use of ../../compare and ../../install. 1984-10-26 12:58:15 +00:00
keie
3d4feae541 Initial revision 1984-10-26 12:54:35 +00:00
keie
88b487cd7b Adapted to make use of ../../compare and ../../install. 1984-10-26 11:48:51 +00:00
keie
90a899316e Initial revision 1984-10-26 11:48:13 +00:00
keie
08632dc7bd *** empty log message *** 1984-10-26 11:47:56 +00:00
keie
ae27a86236 Adapted to make use of ../../compare and ../../install. 1984-10-26 11:04:10 +00:00
keie
fd0066f3a6 *** empty log message *** 1984-10-26 11:01:40 +00:00
keie
1092994a09 Initial revision 1984-10-26 11:00:08 +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
keie
9d8dd3f989 Adapted to use ../../install and ../../compare and hide knowledge
about final destination of libraries.
1984-10-26 10:25:32 +00:00
ceriel
c5345aaaba Added a "distr" entry, which will be propagated to the src directory. 1984-10-26 10:24:48 +00:00
keie
fd23647c1c Adapted to make use of ../../compare. 1984-10-26 10:21:18 +00:00
keie
4724e96474 Adapted to make use of ../../install and ../../compare. 1984-10-26 10:20:29 +00:00
keie
8df0cf17d6 Initial revision 1984-10-26 10:20:28 +00:00
keie
37730ff9ca *** empty log message *** 1984-10-26 10:19:56 +00:00
keie
a1e7cc26f4 *** empty log message *** 1984-10-26 10:12:57 +00:00
keie
137fa9ebce Adapted to use install in ../.. 1984-10-25 14:28:56 +00:00
keie
0cacc96ed8 Now using the compare script in ../.. 1984-10-25 14:28:19 +00:00
keie
4a20e17a9b Initial revision 1984-10-25 14:28:18 +00:00
keie
3bfc57ecd0 *** empty log message *** 1984-10-25 14:24:43 +00:00
keie
86d96452a3 Altered the installation procedure.
The libraries etc. are now installed in lib/m68k2 using install in ../..
1984-10-25 14:22:53 +00:00
keie
e88028dcb9 Altered to make use of ../../install and ../../compare. 1984-10-25 14:19:58 +00:00
keie
1e1fc36653 Initial revision 1984-10-25 14:19:57 +00:00
keie
cdebe97db8 *** empty log message *** 1984-10-25 14:15:27 +00:00
keie
08545984f4 Now making use of ../../install and ../../compare. 1984-10-25 14:10:00 +00:00
keie
b8e156100f Adapted to make use of compare in ../.. 1984-10-25 11:40:16 +00:00
keie
9109aaaada Adapted to make use of install and compare in ../.. 1984-10-25 11:39:39 +00:00
keie
b51fa518be *** empty log message *** 1984-10-25 11:39:38 +00:00
keie
c2b1975015 Adapted to make use of install and compare in ../.. 1984-10-25 11:27:08 +00:00
keie
ca89e47aa4 *** empty log message *** 1984-10-25 11:25:22 +00:00
keie
26ba8cc8fd Removed the definition of LIBDIR, it is superfluous. 1984-10-25 11:16:31 +00:00
keie
c94c590501 Adapted to make use of install and compare in ../.. 1984-10-25 11:16:30 +00:00
keie
38a943d27a Initial revision 1984-10-25 11:15:20 +00:00
keie
916b1b016e Moved the include directory from mach/ibm/include to lib/ibm/include. 1984-10-25 11:00:06 +00:00
keie
a72cc54578 Adapted to use compare in ../.. 1984-10-25 10:46:32 +00:00
keie
9b6418c324 Adapted to compare in ../.. 1984-10-25 10:45:22 +00:00
keie
e03e8c7607 Initial revision 1984-10-25 10:45:21 +00:00
keie
2cb8aae438 *** empty log message *** 1984-10-23 15:29:53 +00:00
keie
533d2bb940 Initial revision 1984-10-23 15:29:30 +00:00
keie
828b4d62c9 We have only one copy of the script for compare and install now
they are present in ../..
1984-10-23 15:14:17 +00:00
sater
7e31dee840 changed EM_WSIZE to TEM_WSIZE 1984-10-23 15:10:15 +00:00
2 changed files with 2341 additions and 155 deletions

View File

@@ -1,155 +0,0 @@
#include "assert.h"
#include "param.h"
#include "tables.h"
#ifdef REGVARS
#ifndef NORCSID
static char rcsid[] = "$Header$";
#endif
#include "types.h"
#include <cg_pattern.h>
#include "data.h"
#include "regvar.h"
#include <em_reg.h>
#include "result.h"
#include "extern.h"
/*
* (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands.
*
* This product is part of the Amsterdam Compiler Kit.
*
* Permission to use, sell, duplicate or disclose this software must be
* obtained in writing. Requests for such permissions may be sent to
*
* Dr. Andrew S. Tanenbaum
* Wiskundig Seminarium
* Vrije Universiteit
* Postbox 7161
* 1007 MC Amsterdam
* The Netherlands
*
* Author: Hans van Staveren
*/
extern string myalloc();
struct regvar *rvlist;
struct regvar *
linkreg(of,sz,tp,sc) long of; {
struct regvar *rvlp;
rvlp= (struct regvar *) myalloc(sizeof *rvlp);
rvlp->rv_next = rvlist;
rvlist=rvlp;
rvlp->rv_off = of;
rvlp->rv_size = sz;
rvlp->rv_type = tp;
rvlp->rv_score = sc;
rvlp->rv_reg = 0; /* no register assigned yet */
return(rvlp);
}
tryreg(rvlp,typ) struct regvar *rvlp; {
int score;
register i;
struct regassigned *ra;
struct regvar *save;
if (typ != reg_any && nregvar[typ]!=0) {
if (machregs[rvnumbers[typ][0]].r_size!=rvlp->rv_size)
score = -1;
else
score = regscore(rvlp->rv_off,
rvlp->rv_size,
rvlp->rv_type,
rvlp->rv_score,
typ); /* machine dependent */
ra = regassigned[typ];
if (score>ra[nregvar[typ]-1].ra_score) {
save = ra[nregvar[typ]-1].ra_rv;
for (i=nregvar[typ]-1;i>0 && ra[i-1].ra_score<score;i--)
ra[i] = ra[i-1];
ra[i].ra_rv = rvlp;
ra[i].ra_score = score;
if((rvlp=save)==0)
return;
}
}
if (nregvar[reg_any]==0)
return;
if (machregs[rvnumbers[reg_any][0]].r_size!=rvlp->rv_size)
score = -1;
else
score = regscore(rvlp->rv_off,
rvlp->rv_size,
rvlp->rv_type,
rvlp->rv_score,
reg_any); /* machine dependent */
ra = regassigned[reg_any];
if (score>ra[nregvar[reg_any]-1].ra_score) {
for (i=nregvar[reg_any]-1;i>0 && ra[i-1].ra_score<score;i--)
ra[i] = ra[i-1];
ra[i].ra_rv = rvlp;
ra[i].ra_score = score;
}
}
fixregvars(saveall) {
register struct regvar *rv;
register rvtyp,i;
swtxt();
i_regsave(); /* machine dependent initialization */
for (rvtyp=reg_any;rvtyp<=reg_float;rvtyp++) {
for(i=0;i<nregvar[rvtyp];i++)
if (saveall) {
struct reginfo *rp;
rp= &machregs[rvnumbers[rvtyp][i]];
regsave(codestrings[rp->r_repr],(long)-TEM_WSIZE,rp->r_size);
} else if(regassigned[rvtyp][i].ra_score>0) {
rv=regassigned[rvtyp][i].ra_rv;
rv->rv_reg=rvnumbers[rvtyp][i];
regsave(codestrings[machregs[rv->rv_reg].r_repr],
rv->rv_off,rv->rv_size);
}
}
f_regsave();
#ifndef TEM_BSIZE
for(rv=rvlist;rv!=0;rv=rv->rv_next)
if (rv->rv_off >= 0) rv->rv_off += TEM_BSIZE;
#endif
}
isregvar(off) long off; {
register struct regvar *rvlp;
for(rvlp=rvlist;rvlp!=0;rvlp=rvlp->rv_next)
if(rvlp->rv_off == off)
return(rvlp->rv_reg);
return(-1);
}
unlinkregs() {
register struct regvar *rvlp,*t;
register struct regassigned *ra;
int rvtyp,i;
for(rvlp=rvlist;rvlp!=0;rvlp=t) {
t=rvlp->rv_next;
myfree(rvlp);
}
rvlist=0;
for (rvtyp=reg_any;rvtyp<=reg_float;rvtyp++) {
for(i=0;i<nregvar[rvtyp];i++) {
ra= &regassigned[rvtyp][i];
ra->ra_rv = 0;
ra->ra_score = 0;
}
}
}
#endif REGVARS
/* nothing after this */

2341
util/cgg/bootgram.y Normal file

File diff suppressed because it is too large Load Diff