Added prototyping stuff
This commit is contained in:
@@ -6,6 +6,8 @@
|
||||
#ifndef __EMCOMP_INCLUDED__
|
||||
#define __EMCOMP_INCLUDED__
|
||||
|
||||
#include <ansi.h>
|
||||
|
||||
struct e_arg {
|
||||
int ema_argtype; /* type of this argument */
|
||||
union e_simple_arg {
|
||||
@@ -44,6 +46,11 @@ struct e_instr {
|
||||
struct e_arg em_arg;
|
||||
};
|
||||
|
||||
_PROTOTYPE(int EM_open, (char *));
|
||||
_PROTOTYPE(void EM_close, (void));
|
||||
_PROTOTYPE(int EM_getinstr, (struct e_instr *));
|
||||
_PROTOTYPE(int EM_mkcalls, (struct e_instr *));
|
||||
|
||||
extern arith
|
||||
EM_holsize;
|
||||
#define EM_bsssize EM_holsize
|
||||
|
||||
@@ -31,7 +31,7 @@ static int listtype = 0; /* indicates pseudo when generating code for
|
||||
The argument must be of a type allowed by "typset".
|
||||
Return a pointer to the next argument.
|
||||
*/
|
||||
PRIVATE
|
||||
PRIVATE int
|
||||
checkarg(arg, typset)
|
||||
register struct e_arg *arg;
|
||||
{
|
||||
@@ -58,7 +58,7 @@ checkarg(arg, typset)
|
||||
|
||||
/* EM_doinstr: An EM instruction
|
||||
*/
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
EM_doinstr(p)
|
||||
register struct e_instr *p;
|
||||
{
|
||||
@@ -94,7 +94,7 @@ EM_doinstr(p)
|
||||
#include "C_mnem"
|
||||
}
|
||||
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
EM_dopseudo(p)
|
||||
register struct e_instr *p;
|
||||
{
|
||||
@@ -326,7 +326,7 @@ EM_dopseudo(p)
|
||||
}
|
||||
}
|
||||
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
EM_docon(p)
|
||||
register struct e_instr *p;
|
||||
{
|
||||
@@ -365,7 +365,7 @@ EM_docon(p)
|
||||
}
|
||||
}
|
||||
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
EM_dostartmes(p)
|
||||
register struct e_instr *p;
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@ SRC_DIR = $(SRC_HOME)/modules/src/read_em
|
||||
MOD_DIR = $(TARGET_HOME)/modules
|
||||
EM_TABLE = $(SRC_HOME)/etc/em_table
|
||||
INCLUDES = -I$(TARGET_HOME)/h -I$(MOD_DIR)/h -I$(SRC_DIR) -I.
|
||||
DEFINES = -DPRIVATE=static -DEXPORT=
|
||||
DEFINES = -DPRIVATE=static -DEXPORT= -DNDEBUG
|
||||
CFLAGS = $(INCLUDES) $(DEFINES) $(COPTIONS)
|
||||
|
||||
TARGETS = libread_emk.$(LIBSUF) \
|
||||
@@ -35,8 +35,9 @@ K_OFILES = read_emk.$(SUF) makecalls.$(SUF) EM_vars.$(SUF)
|
||||
all: $(TARGETS)
|
||||
|
||||
install: all
|
||||
-mkdir $(MOD_DIR)/lib
|
||||
-mkdir $(MOD_DIR)/h
|
||||
cp $(SRC_DIR)/em_comp.h $(MOD_DIR)/h/em_comp.h
|
||||
cp $(SRC_DIR)/read_em.3 $(MOD_DIR)/man/read_em.3
|
||||
cp libread_emk.$(LIBSUF) $(MOD_DIR)/lib/libread_emk.$(LIBSUF)
|
||||
$(RANLIB) $(MOD_DIR)/lib/libread_emk.$(LIBSUF)
|
||||
cp libread_emkV.$(LIBSUF) $(MOD_DIR)/lib/libread_emkV.$(LIBSUF)
|
||||
@@ -52,7 +53,6 @@ cmp: all
|
||||
-cmp libread_emk.$(LIBSUF) $(MOD_DIR)/lib/libread_emk.$(LIBSUF)
|
||||
-cmp libread_emkV.$(LIBSUF) $(MOD_DIR)/lib/libread_emkV.$(LIBSUF)
|
||||
-cmp libread_emeV.$(LIBSUF) $(MOD_DIR)/lib/libread_emeV.$(LIBSUF)
|
||||
-cmp $(SRC_DIR)/read_em.3 $(MOD_DIR)/man/read_em.3
|
||||
|
||||
pr:
|
||||
@pr $(SRC_DIR)/proto.make $(SRC_DIR)/m_C_mnem $(SRC_DIR)/m_C_mnem_na $(SRC_DIR)/argtype $(SRCFILES)
|
||||
|
||||
@@ -20,10 +20,10 @@ EM_mkcalls\ \-\ a module to read EM assembly code
|
||||
.PP
|
||||
.B int EM_open(filename)
|
||||
.br
|
||||
.B EM_close()
|
||||
.br
|
||||
.B char *filename;
|
||||
.PP
|
||||
.B void EM_close()
|
||||
.PP
|
||||
.B int EM_getinstr(instr)
|
||||
.B struct e_instr *instr;
|
||||
.PP
|
||||
|
||||
@@ -99,7 +99,7 @@ static char *argrange = "Argument range error";
|
||||
/* Error handling
|
||||
*/
|
||||
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
xerror(s)
|
||||
char *s;
|
||||
{
|
||||
@@ -108,7 +108,7 @@ xerror(s)
|
||||
}
|
||||
|
||||
#ifdef COMPACT
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
xfatal(s)
|
||||
char *s;
|
||||
{
|
||||
@@ -157,7 +157,7 @@ EM_open(filename)
|
||||
|
||||
/* EM_close: Close input file
|
||||
*/
|
||||
EXPORT
|
||||
EXPORT void
|
||||
EM_close()
|
||||
{
|
||||
|
||||
@@ -175,7 +175,7 @@ EM_close()
|
||||
again, but also to deliver the arguments on next calls to EM_getinstr.
|
||||
This is indicated by the variable "argp".
|
||||
*/
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
startmes(p)
|
||||
register struct e_instr *p;
|
||||
{
|
||||
|
||||
@@ -43,7 +43,7 @@ hash(s)
|
||||
return h;
|
||||
}
|
||||
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
pre_hash(i, s)
|
||||
char *s;
|
||||
{
|
||||
@@ -66,7 +66,7 @@ pre_hash(i, s)
|
||||
extern char em_mnem[][4];
|
||||
extern char em_pseu[][4];
|
||||
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
inithash()
|
||||
{
|
||||
register int i;
|
||||
@@ -103,7 +103,7 @@ nospace()
|
||||
|
||||
/* syntax: Put an error message in EM_error and skip to the end of the line
|
||||
*/
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
syntax(s)
|
||||
char *s;
|
||||
{
|
||||
@@ -117,7 +117,7 @@ syntax(s)
|
||||
|
||||
/* checkeol: check that we have a complete line (except maybe for spaces)
|
||||
*/
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
checkeol()
|
||||
{
|
||||
|
||||
@@ -251,7 +251,7 @@ getstring()
|
||||
return s;
|
||||
}
|
||||
|
||||
PRIVATE gettyp();
|
||||
PRIVATE void gettyp();
|
||||
|
||||
PRIVATE int
|
||||
offsetted(argtyp, ap)
|
||||
@@ -446,7 +446,7 @@ get15u()
|
||||
return (int) (dummy.ema_cst);
|
||||
}
|
||||
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
gettyp(typset, ap)
|
||||
register struct e_arg *ap;
|
||||
{
|
||||
@@ -520,10 +520,9 @@ gettyp(typset, ap)
|
||||
if (argtyp == sp_cend) {
|
||||
ap->ema_argtype = 0;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
getarg(typset, ap)
|
||||
struct e_arg *ap;
|
||||
{
|
||||
@@ -533,19 +532,19 @@ getarg(typset, ap)
|
||||
if ((c = nospace()) != ',') {
|
||||
if (c != '\n') {
|
||||
syntax("comma expected");
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
ungetbyte(c);
|
||||
}
|
||||
}
|
||||
argnum++;
|
||||
return gettyp(typset, ap);
|
||||
gettyp(typset, ap);
|
||||
}
|
||||
|
||||
/* getmnem: We found the start of either an instruction or a pseudo.
|
||||
get the rest of it
|
||||
*/
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
getmnem(c, p)
|
||||
register struct e_instr *p;
|
||||
{
|
||||
@@ -587,7 +586,7 @@ getmnem(c, p)
|
||||
}
|
||||
}
|
||||
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
line_line()
|
||||
{
|
||||
static char filebuf[256 + 1];
|
||||
@@ -601,7 +600,7 @@ line_line()
|
||||
EM_filename = filebuf;
|
||||
}
|
||||
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
getlabel(c, p)
|
||||
register struct e_instr *p;
|
||||
{
|
||||
@@ -624,7 +623,7 @@ getlabel(c, p)
|
||||
checkeol();
|
||||
}
|
||||
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
gethead(p)
|
||||
register struct e_instr *p;
|
||||
{
|
||||
|
||||
@@ -41,7 +41,7 @@ PRIVATE struct string *getstring();
|
||||
/* getarg : read an argument of any type, and check it against "typset"
|
||||
if neccesary. Put result in "ap".
|
||||
*/
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
getarg(typset, ap)
|
||||
register struct e_arg *ap;
|
||||
{
|
||||
@@ -259,7 +259,7 @@ getstring(isident)
|
||||
|
||||
/* gethead: read the start of an EM-line
|
||||
*/
|
||||
PRIVATE
|
||||
PRIVATE void
|
||||
gethead(p)
|
||||
register struct e_instr *p;
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user