CPP ISO C90 compatibility and conversion.
authorcarl <cecodere@yahoo.ca>
Fri, 1 Mar 2019 17:36:11 +0000 (01:36 +0800)
committercarl <cecodere@yahoo.ca>
Fri, 1 Mar 2019 17:44:16 +0000 (01:44 +0800)
19 files changed:
lang/cem/cpp.ansi/LLlex.c
lang/cem/cpp.ansi/LLlex.h
lang/cem/cpp.ansi/LLmessage.c
lang/cem/cpp.ansi/ch3bin.c
lang/cem/cpp.ansi/ch3mon.c
lang/cem/cpp.ansi/class.h
lang/cem/cpp.ansi/domacro.c
lang/cem/cpp.ansi/error.c
lang/cem/cpp.ansi/expr.c
lang/cem/cpp.ansi/expression.g
lang/cem/cpp.ansi/init.c
lang/cem/cpp.ansi/input.c
lang/cem/cpp.ansi/input.h
lang/cem/cpp.ansi/main.c
lang/cem/cpp.ansi/options.c
lang/cem/cpp.ansi/preprocess.c
lang/cem/cpp.ansi/replace.c
lang/cem/cpp.ansi/replace.str
lang/cem/cpp.ansi/skip.c

index 40c6c57..583db77 100644 (file)
@@ -15,7 +15,9 @@
 #include "idf.h"
 #include "LLlex.h"
 #include "Lpars.h"
+#include "replace.h"
 #include "class.h"
+#include "error.h"
 #include "bits.h"
 
 #define BUFSIZ 1024
@@ -30,20 +32,26 @@ int AccFileSpecifier = 0; /* return filespecifier <...>             */
 int LexSave = 0; /* last character read by GetChar       */
 extern int InputLevel; /* # of current macro expansions        */
 
-extern char* string_token();
-extern arith char_constant();
+
 #define FLG_ESEEN 0x01 /* possibly a floating point number */
 #define FLG_DOTSEEN 0x02 /* certainly a floating point number */
 
-void skipcomment();
-void skiplinecomment(void);
 
-int LLlex()
+/* Private forward definitions */
+
+static arith char_constant(char*);
+static char* string_token(char *, int);
+static int quoted(register int);
+static int val_in_base(register int, int);
+static int trigraph(void);
+
+
+int LLlex(void)
 {
        return (DOT != EOF) ? GetToken(&dot) : EOF;
 }
 
-int GetToken(ptok) register struct token* ptok;
+int GetToken(register struct token* ptok)
 {
        /*      GetToken() is the actual token recognizer. It calls the
            control line interpreter if it encounters a "\n{w}*#"
@@ -385,7 +393,7 @@ again: /* rescan the input after an error or replacement    */
        /*NOTREACHED*/
 }
 
-void skipcomment()
+void skipcomment(void)
 {
        /*      The last character read has been the '*' of '/_*'.  The
            characters, except NL and EOI, between '/_*' and the first
@@ -437,7 +445,7 @@ void skiplinecomment(void)
        }
 }
 
-arith char_constant(nm) char* nm;
+static arith char_constant(char* nm)
 {
        register arith val = 0;
        register int ch;
@@ -471,7 +479,7 @@ arith char_constant(nm) char* nm;
        return val;
 }
 
-char* string_token(nm, stop_char) char* nm;
+static char* string_token(char *nm, int stop_char)
 {
        register int ch;
        register int str_size;
@@ -504,7 +512,7 @@ char* string_token(nm, stop_char) char* nm;
        return str;
 }
 
-int quoted(ch) register int ch;
+static int quoted(register int ch)
 {
        /*      quoted() replaces an escaped character sequence by the
            character meant.
@@ -567,7 +575,7 @@ int quoted(ch) register int ch;
        return ch & 0377;
 }
 
-int val_in_base(ch, base) register int ch;
+static int val_in_base(register int ch, int base)
 {
        switch (base)
        {
@@ -583,7 +591,7 @@ int val_in_base(ch, base) register int ch;
        }
 }
 
-int GetChar()
+int GetChar(void)
 {
        /*      The routines GetChar and trigraph parses the trigraph
            sequences and removes occurences of \\\n.
@@ -612,7 +620,7 @@ again:
        return (LexSave = ch);
 }
 
-int trigraph()
+static int trigraph(void)
 {
        register int ch;
 
index 6c7e7ee..a46c686 100644 (file)
@@ -4,6 +4,8 @@
  */
 /* $Id$ */
 /* D E F I N I T I O N S   F O R   T H E   L E X I C A L   A N A L Y Z E R */
+#ifndef LLLEX_H_
+#define LLLEX_H_
 
 /*     A token from the input stream is represented by an integer,
        called a "symbol", but it may have other information associated
@@ -44,3 +46,14 @@ extern int err_occurred;     /* "error.c"    */
 #define        DOT     dot.tk_symb
 
 #define EOF    (-1)
+
+/* Public function declarations */
+
+int LLlex(void);
+int GetToken(register struct token* ptok);
+void skipcomment(void);
+void skiplinecomment(void);
+/* Get next character input, with trigraph parsing and newline */
+int GetChar(void);
+
+#endif /* LLLLEX_H_ */
index 92b5070..c7259d3 100644 (file)
@@ -8,15 +8,20 @@
 #include       "arith.h"
 #include       "LLlex.h"
 #include       "Lpars.h"
+#include    "skip.h"
+#include    "error.h"
 
 extern char *symbol2str();
 
-LLmessage(tk)  {
+void LLmessage(int tk)
+{
        if (tk < 0)
                error("garbage at end of line");
-       else if (tk)    {
+       else if (tk)
+       {
                error("%s missing", symbol2str(tk));
-               if (DOT != EOF) SkipToNewLine();
+               if (DOT != EOF)
+                       SkipToNewLine();
                DOT = EOF;
        }
        else
index c458487..8caf9b3 100644 (file)
@@ -7,10 +7,11 @@
 
 #include       "Lpars.h"
 #include       "arith.h"
+#include       "ch3bin.h"
+#include       "skip.h"
+#include       "error.h"
 
-ch3bin(pval, pis_uns, oper, val, is_uns)
-       register arith *pval, val;
-       int oper, is_uns, *pis_uns;
+void ch3bin(register arith *pval, int *pis_uns, int oper, register arith val, int is_uns)
 {
        if (is_uns) *pis_uns = 1;
        switch (oper)   {
index a5f6095..f436824 100644 (file)
@@ -5,13 +5,12 @@
 /* $Id$ */
 /* EVALUATION OF MONADIC OPERATORS */
 
+#include       "ch3mon.h"
 #include       "Lpars.h"
 #include       "arith.h"
 
 /*ARGSUSED2*/
-ch3mon(oper, pval, puns)
-       register arith *pval;
-       int *puns;
+void ch3mon(int oper, register arith *pval, int *puns)
 {
        switch (oper)   {
        case '~':
index 09e03d8..5046ddf 100644 (file)
@@ -10,7 +10,7 @@
        At present such a class number is supposed to fit in 4 bits.
 */
 
-#define        class(ch)       ((tkclass)[ch])
+#define        class(ch)       ((tkclass)[(unsigned int)ch])
 
 /*     Being the start of a token is, fortunately, a mutual exclusive
        property, so, as there are less than 16 classes they can be
        class.  This is implemented as a collection of tables to speed up
        the decision whether a character has a special meaning.
 */
-#define        in_idf(ch)      (inidf[ch])
-#define        is_oct(ch)      (isoct[ch])
-#define        is_dig(ch)      (isdig[ch])
-#define        is_hex(ch)      (ishex[ch])
-#define        is_wsp(ch)      (iswsp[ch])
+#define        in_idf(ch)      (inidf[(unsigned int)ch])
+#define        is_oct(ch)      (isoct[(unsigned int)ch])
+#define        is_dig(ch)      (isdig[(unsigned int)ch])
+#define        is_hex(ch)      (ishex[(unsigned int)ch])
+#define        is_wsp(ch)      (iswsp[(unsigned int)ch])
 
 extern char tkclass[];
 extern char inidf[], isoct[], isdig[], ishex[], iswsp[];
index 39c2d84..b382a0c 100644 (file)
@@ -8,22 +8,26 @@
 #include <assert.h>
 #include <stdlib.h>
 #include <string.h>
+#include "domacro.h"
 #include "arith.h"
 #include "LLlex.h"
 #include "Lpars.h"
 #include "idf.h"
 #include "input.h"
+#include "error.h"
 
 #include "parameters.h"
+#include "preprocess.h"
 #include <alloc.h>
 #include "class.h"
 #include "macro.h"
+#include "LLlex.h"
 #include "bits.h"
+#include "skip.h"
 #include "replace.h"
 
 extern char options[];
 extern char** inctable; /* list of include directories         */
-extern char* getwdir();
 char ifstack[IFDEPTH]; /* if-stack: the content of an entry is */
 /* 1 if a corresponding ELSE has been  */
 /* encountered.                                */
@@ -33,10 +37,33 @@ int svnestlevel[30] = { -1 };
 int nestcount;
 extern int do_preprocess;
 
-void macro_def();
-void do_define();
-
-char* GetIdentifier(skiponerr) int skiponerr; /* skip the rest of the line on error */
+/* Internal declarations */
+
+
+static void do_define(void);
+static void do_elif(void);
+static void do_else(void);
+static void push_if(void);
+static void do_endif(void);
+static void do_if(void);
+static void do_ifdef(int);
+static void do_include(void);
+static void do_line(unsigned int);
+static int find_name(char* , char* []);
+static char* get_text(char* [], int* );
+static int getparams(char* [], char []);
+static int ifexpr(void);
+static int macroeq(register char*, register char *);
+static void skip_block(int);
+static void do_error(void);
+
+/* External dependencies to C files with no include files */
+extern void If_expr(void);
+extern void add_dependency(char *);
+
+
+char* GetIdentifier(int skiponerr /* skip the rest of the line on error */
+ )
 {
        /*      Returns a pointer to the identifier that is read from the
            input stream. When the input does not contain an
@@ -62,16 +89,8 @@ char* GetIdentifier(skiponerr) int skiponerr; /* skip the rest of the line on er
        return tk.tk_str;
 }
 
-/*     domacro() is the control line interpreter. The '#' has already
-    been read by the lexical analyzer by which domacro() is called.
-    The token appearing directly after the '#' is obtained by calling
-    the basic lexical analyzing function GetToken() and is interpreted
-    to perform the action belonging to that token.
-    An error message is produced when the token is not recognized.
-    Pragma's are handled by do_pragma(). They are passed on to the
-    compiler.
-*/
-domacro()
+
+void domacro(void)
 {
        struct token tk; /* the token itself                    */
        register struct idf* id;
@@ -156,7 +175,7 @@ domacro()
        }
 }
 
-void skip_block(to_endif) int to_endif;
+static void skip_block(int to_endif)
 {
        /*      skip_block() skips the input from
            1)  a false #if, #ifdef, #ifndef or #elif until the
@@ -303,9 +322,9 @@ void skip_block(to_endif) int to_endif;
        }
 }
 
-ifexpr()
+static int ifexpr(void)
 {
-       /*      ifexpr() returns whether the restricted constant
+       /*      Returns whether the restricted constant
            expression following #if or #elif evaluates to true.  This
            is done by calling the LLgen generated subparser for
            constant expressions.  The result of this expression will
@@ -324,7 +343,7 @@ ifexpr()
        return (errors == err_occurred) && (ifval != (arith)0);
 }
 
-do_include()
+static void do_include(void)
 {
        /*      do_include() performs the inclusion of a file.
        */
@@ -368,7 +387,7 @@ do_include()
        }
 }
 
-void do_define()
+static void do_define(void)
 {
        /*      do_define() interprets a #define control line.
        */
@@ -378,8 +397,7 @@ void do_define()
        char parbuf[PARBUFSIZE]; /* names of formals    */
        char* repl_text; /* start of the replacement text       */
        int length; /* length of the replacement text   */
-       register ch;
-       char* get_text();
+       register int ch;
 
        /* read the #defined macro's name       */
        if (!(str = GetIdentifier(1)))
@@ -411,7 +429,7 @@ void do_define()
        LineNumber++;
 }
 
-push_if()
+static void push_if(void)
 {
        if (nestlevel >= IFDEPTH)
                fatal("too many nested #if/#ifdef/#ifndef");
@@ -419,7 +437,7 @@ push_if()
                ifstack[++nestlevel] = 0;
 }
 
-do_elif()
+static void do_elif(void)
 {
        if (nestlevel <= svnestlevel[nestcount])
        {
@@ -439,7 +457,7 @@ do_elif()
        }
 }
 
-do_else()
+static void do_else(void)
 {
        if (SkipToNewLine())
        {
@@ -459,7 +477,7 @@ do_else()
        }
 }
 
-do_endif()
+static void do_endif(void)
 {
        if (SkipToNewLine())
        {
@@ -474,14 +492,14 @@ do_endif()
                nestlevel--;
 }
 
-do_if()
+static void do_if(void)
 {
        push_if();
        if (!ifexpr()) /* a false #if/#elif expression */
                skip_block(0);
 }
 
-do_ifdef(how)
+static void do_ifdef(int how)
 {
        register struct idf* id;
        register char* str;
@@ -513,7 +531,7 @@ do_ifdef(how)
 }
 
 /* argstr != NULL when the undef came from a -U option */
-do_undef(argstr) char* argstr;
+void do_undef(char* argstr)
 {
        register struct idf* id;
        register char* str = argstr;
@@ -548,7 +566,7 @@ do_undef(argstr) char* argstr;
                error("illegal #undef construction");
 }
 
-do_error()
+static void do_error(void)
 {
        int len;
        char* get_text();
@@ -559,8 +577,7 @@ do_error()
        LineNumber++;
 }
 
-int getparams(buf, parbuf) char* buf[];
-char parbuf[];
+static int getparams(char* buf[], char parbuf[])
 {
        /*      getparams() reads the formal parameter list of a macro
            definition.
@@ -633,8 +650,7 @@ char parbuf[];
        /*NOTREACHED*/
 }
 
-void macro_def(id, text, nformals, length, flags) register struct idf* id;
-char* text;
+void macro_def(register struct idf* id, char* text, int nformals, int length, int flags)
 {
        register struct macro* newdef = id->id_macro;
 
@@ -681,7 +697,7 @@ char* text;
        newdef->mc_flag = flags; /* special flags       */
 }
 
-int find_name(nm, index) char *nm, *index[];
+static int find_name(char* nm, char *index[])
 {
        /*      find_name() returns the index of "nm" in the namelist
            "index" if it can be found there.  0 is returned if it is
@@ -698,8 +714,7 @@ int find_name(nm, index) char *nm, *index[];
 
 #define BLANK(ch) ((ch == ' ') || (ch == '\t'))
 
-char* get_text(formals, length) char* formals[];
-int* length;
+static char* get_text(char* formals[], int* length)
 {
        /*      get_text() copies the replacement text of a macro
            definition with zero, one or more parameters, thereby
@@ -811,7 +826,7 @@ int* length;
                                add2repl(repl, ' ');
                        }
                        /* construct the formal parameter mark or identifier */
-                       if (n = find_name(id_buf, formals))
+                       if ((n = find_name(id_buf, formals)))
                                add2repl(repl, FORMALP | (char)n);
                        else
                        {
@@ -873,7 +888,7 @@ int* length;
     as strings, without taking care of the leading and trailing
     blanks (spaces and tabs).
 */
-macroeq(s, t) register char* s, *t;
+static int macroeq(register char* s, register char *t)
 {
 
        /* skip leading spaces  */
@@ -902,7 +917,7 @@ macroeq(s, t) register char* s, *t;
        }
 }
 
-do_line(l) unsigned int l;
+static void do_line(unsigned int l)
 {
        struct token tk;
        int t = GetToken(&tk);
index 0920976..bdaf6fa 100644 (file)
@@ -14,6 +14,7 @@
 
 #include    "parameters.h"
 #include       "arith.h"
+#include    "print.h"
 #include       "LLlex.h"
 
 /*     This file contains the (non-portable) error-message and diagnostic
@@ -23,8 +24,7 @@
 
 int err_occurred;
 
-err_hdr(s)
-       char *s;
+static void err_hdr(char *s)
 {
        if (FileName) {
                fprint(ERROUT, "\"%s\", line %d: %s", FileName, (int)LineNumber, s);
@@ -34,7 +34,7 @@ err_hdr(s)
 
 #if __STDC__
 /*VARARGS*/
-error(char *fmt, ...)
+void error(char *fmt, ...)
 {
        va_list ap;
 
@@ -47,7 +47,7 @@ error(char *fmt, ...)
 }
 
 /*VARARGS*/
-warning(char *fmt, ...)
+void warning(char *fmt, ...)
 {
        va_list ap;
 
@@ -59,7 +59,7 @@ warning(char *fmt, ...)
 }
 
 /*VARARGS*/
-strict(char *fmt, ...)
+void strict(char *fmt, ...)
 {
        va_list ap;
 
@@ -71,7 +71,7 @@ strict(char *fmt, ...)
 }
 
 /*VARARGS*/
-crash(char *fmt, ...)
+void crash(char *fmt, ...)
 {
        va_list ap;
 
@@ -84,7 +84,7 @@ crash(char *fmt, ...)
 }
 
 /*VARARGS*/
-fatal(char *fmt, ...)
+void fatal(char *fmt, ...)
 {
        va_list ap;
 
@@ -97,7 +97,7 @@ fatal(char *fmt, ...)
 }
 #else
 /*VARARGS*/
-error(va_alist)
+void error(va_alist)
        va_dcl
 {
        char *fmt;
@@ -113,7 +113,7 @@ error(va_alist)
 }
 
 /*VARARGS*/
-warning(va_alist)
+void warning(va_alist)
        va_dcl
 {
        char *fmt;
@@ -128,7 +128,7 @@ warning(va_alist)
 }
 
 /*VARARGS*/
-strict(va_alist)
+void strict(va_alist)
        va_dcl
 {
        char *fmt;
@@ -143,7 +143,7 @@ strict(va_alist)
 }
 
 /*VARARGS*/
-crash(va_alist)
+void crash(va_alist)
        va_dcl
 {
        char *fmt;
@@ -159,7 +159,7 @@ crash(va_alist)
 }
 
 /*VARARGS*/
-fatal(va_alist)
+void fatal(va_alist)
        va_dcl
 {
        char *fmt;
index 7b02643..fc933cc 100644 (file)
@@ -5,11 +5,10 @@
 /* $Id$ */
 /* OPERATOR HANDLING */
 
+#include    "expr.h"
 #include       "Lpars.h"
 
-int
-rank_of(oper)
-       int oper;
+int rank_of(int oper)
 {
        /*      The rank of the operator oper is returned.
        */
index 384ea18..351a7c5 100644 (file)
@@ -10,6 +10,9 @@
 {
 #include       "arith.h"
 #include       "LLlex.h"
+#include       "ch3mon.h"
+#include       "ch3bin.h"
+#include       "expr.h"
 
 extern arith ifval;
 }
index 810b420..a0aeb8f 100644 (file)
 #include       "time.h"
 #include       "class.h"
 #include       "macro.h"
+#include       "print.h"
+#include       "error.h"
 #include       "idf.h"
+#include       "domacro.h"
 
 struct mkey    {
        char *mk_reserved;
@@ -34,9 +37,8 @@ struct mkey   {
        {0,             K_UNKNOWN}
 };
 
-char *sprint();
 
-init_pp()
+void init_pp(void)
 {
        static char *months[12] = {
                "Jan", "Feb", "Mar", "Apr", "May", "Jun",
@@ -74,7 +76,7 @@ init_pp()
        /* __DATE__ */
        sprint(dbuf, "\"%s %2d %d\"", months[tp->tm_mon],
                        tp->tm_mday, tp->tm_year+1900);
-       /* if (tp->tm_mday < 10) dbuf[5] = ' ';         /* hack */
+       /* if (tp->tm_mday < 10) dbuf[5] = ' '; */      /* hack */
        macro_def(str2idf("__DATE__", 0), dbuf, -1, strlen(dbuf), NOUNDEF);
 
        /* __TIME__ */
index 8e7de52..161f065 100644 (file)
@@ -9,6 +9,8 @@
 #include <string.h>
 #include "file_info.h"
 #include "input.h"
+#include "error.h"
+#include "replace.h"
 
 #define INP_PUSHBACK   3
 #define INP_TYPE       struct file_info
@@ -17,9 +19,7 @@ struct file_info      finfo;
 #include <inp_pkg.body>
 #include <alloc.h>
 
-char *
-getwdir(fn)
-       register char *fn;
+char *getwdir(register char *fn)
 {
        register char *p;
        char *strrchr();
@@ -44,7 +44,7 @@ getwdir(fn)
 int    NoUnstack;
 int    InputLevel;
 
-AtEoIT()
+int AtEoIT(void)
 {
        InputLevel--;
        /* if (NoUnstack) warning("unexpected EOF"); ??? */
@@ -52,7 +52,7 @@ AtEoIT()
        return 0;
 }
 
-AtEoIF()
+int AtEoIF(void)
 {
        extern int nestlevel;
        extern int nestcount;
index 55a79ac..f2634d9 100644 (file)
 #define UnGetChar()    ((LexSave != EOI) ? ChPushBack(LexSave) : 0)
 
 extern int LexSave;    /* last character read by GetChar               */
-extern         int GetChar();  /* character input, with trigraph parsing       */
+
+
+/* Returns the working directory from a complete path+filename specification.
+ * If there is just a filename and no path, it returns DOT e.g the current
+ * directory.
+ */
+char *getwdir(register char *fn);
+
index be8a7cd..15fe8a1 100644 (file)
 #include       "arith.h"
 #include       "file_info.h"
 #include       "idf.h"
+#include       "init.h"
+#include       "print.h"
+#include       "options.h"
+#include       "error.h"
+#include       "input.h"
 #include       "macro.h"
+#include       "preprocess.h"
+
 
 extern char *symbol2str();
 extern char *getwdir();
@@ -24,7 +31,7 @@ extern int do_dependencies;
 extern char *dep_file;
 int idfsize = IDFSIZE;
 extern char options[];
-static File *dep_fd = STDOUT;
+static File *dep_fd;
 
 arith ifval;
 
@@ -33,13 +40,18 @@ char *prog_name;
 extern char **inctable;
 extern int inc_max, inc_total;
 
-void dependency();
+/* Forward declarations */
+void compile(int argc, char *argv[]);
+void add_dependency(char *);
+static void list_dependencies(char *);
+static void dependency(char *, char *);
+
 
-main(argc, argv)
-       char *argv[];
+int main(int argc, char *argv[])
 {
        /* parse and interpret the command line options */
        prog_name = argv[0];
+       dep_fd = STDOUT;
 
        init_idf();
 
@@ -67,8 +79,7 @@ main(argc, argv)
        /*NOTREACHED*/
 }
 
-compile(argc, argv)
-       char *argv[];
+void compile(int argc, char *argv[])
 {
        register char *source = 0;
        char *dummy;
@@ -97,10 +108,9 @@ compile(argc, argv)
 }
 
 struct idf     *file_head;
-extern char *strrchr();
 
-list_dependencies(source)
-       char *source;
+
+static void list_dependencies(char *source)
 {
        register struct idf *p = file_head;
 
@@ -115,7 +125,7 @@ list_dependencies(source)
                          * object generated, so don't include the pathname
                          * leading to it.
                          */
-                        if (s = strrchr(source, '/')) {
+                        if ((s = strrchr(source, '/'))) {
                                 source = s + 1;
                         }
                }
@@ -131,8 +141,7 @@ list_dependencies(source)
        }
 }
 
-add_dependency(s)
-       char *s;
+void add_dependency(char *s)
 {
        register struct idf *p = str2idf(s, 0);
 
@@ -143,9 +152,7 @@ add_dependency(s)
        }
 }
 
-void
-dependency(s, source)
-       char *s, *source;
+static void dependency(char *s, char *source)
 {
        if (options['i'] && !strncmp(s, "/usr/include/", 13)) {
                return;
@@ -156,8 +163,7 @@ dependency(s, source)
        else    fprint(dep_fd, "%s\n", s);
 }
 
-void
-No_Mem()                               /* called by alloc package */
+void No_Mem(void)                              /* called by alloc package */
 {
        fatal("out of memory");
 }
index 21d1e22..ec6698a 100644 (file)
@@ -11,7 +11,9 @@
 #include    "parameters.h"
 #include       "class.h"
 #include       "macro.h"
+#include       "domacro.h"
 #include       "idf.h"
+#include       "error.h"
 
 char   options[128];                   /* one for every char   */
 int    inc_pos = 1;                    /* place where next -I goes */
@@ -23,10 +25,10 @@ char        **inctable;
 char   *dep_file = 0;
 
 extern int idfsize;
-int    txt2int();
 
-do_option(text)
-       char *text;
+static int txt2int(char **tp);
+
+void do_option(char *text)
 {
        switch(*text++) {
        case '-':
@@ -127,9 +129,7 @@ do_option(text)
        }
 }
 
-int
-txt2int(tp)
-       char **tp;
+static int txt2int(char **tp)
 {
        /*      the integer pointed to by *tp is read, while increasing
                *tp; the resulting value is yielded.
index ed8119c..11a373c 100644 (file)
@@ -9,14 +9,19 @@
 #include <stdio.h>
 #include <system.h>
 #include <alloc.h>
+#include "preprocess.h"
 #include "input.h"
 #include "parameters.h"
 #include "arith.h"
 #include "LLlex.h"
 #include "class.h"
 #include "macro.h"
+#include "domacro.h"
+#include "replace.h"
 #include "idf.h"
+#include "error.h"
 #include "bits.h"
+#include "skip.h"
 
 char _obuf[OBUFSIZE];
 #ifdef DOBITS
@@ -26,7 +31,7 @@ extern int InputLevel;
 
 extern char* sprint();
 
-Xflush()
+void Xflush(void)
 {
        sys_write(STDOUT, _obuf, OBUFSIZE);
 }
@@ -45,7 +50,7 @@ struct prag_info
 static struct prag_info* pragma_tab;
 static int pragma_nr;
 
-do_pragma()
+void do_pragma(void)
 {
        register int size = ITEXTSIZE;
        char* cur_line = Malloc((unsigned)size);
@@ -123,7 +128,7 @@ do_pragma()
 
 char Xbuf[256];
 
-void preprocess(fn) char* fn;
+void preprocess(char *fn)
 {
        register int c;
        register char* op = _obuf;
@@ -535,8 +540,7 @@ void preprocess(fn) char* fn;
        /*NOTREACHED*/
 }
 
-static char* SkipComment(op, lineno) char* op;
-int* lineno;
+static char* SkipComment(char *op, int *lineno)
 {
        char* ob = &_obuf[OBUFSIZE];
        register int c, oldc = '\0';
index 270cd36..7dd3c5c 100644 (file)
 #include       "arith.h"
 #include       "LLlex.h"
 #include       "class.h"
+#include    "skip.h"
+#include    "domacro.h"
 #include       "replace.h"
+#include    "error.h"
 
-extern char *GetIdentifier();
+;
 extern int InputLevel;
 struct repl *ReplaceList;      /* list of currently active macros */
 
-void expand_defined();
-void getactuals();
-void macro2buffer();
+static int expand_macro(register struct repl *, register struct idf *);
+static void expand_defined(register struct repl *);
+static void getactuals(struct repl *, register struct idf *);
+static int actual(struct repl *);
+static void macro_func(register struct idf *);
+static void macro2buffer(register struct repl *, register struct idf *, register struct args *);
+static char *stringify( register struct repl *, register char *, register struct args *);
+static void stash(struct repl *, register int ch, int );
 
-int
-replace(idf)
-       register struct idf *idf;
+int replace(register struct idf *idf)
 {
        /*      replace is called by the lexical analyzer to perform
                macro replacement. The routine actualy functions as a
@@ -57,13 +63,12 @@ replace(idf)
        return 1;
 }
 
-unstackrepl()
+void unstackrepl(void)
 {
        Unstacked++;
 }
 
-freeargs(args)
-       struct args *args;
+static void freeargs(struct args *args)
 {
        register int i;
 
@@ -81,7 +86,7 @@ freeargs(args)
        free_args(args);
 }
 
-EnableMacros()
+void EnableMacros(void)
 {
        register struct repl *r = ReplaceList, *prev = 0;
 
@@ -103,9 +108,9 @@ EnableMacros()
        Unstacked = 0;
 }
 
-expand_macro(repl, idf)
-       register struct repl *repl;
-       register struct idf *idf;
+static int expand_macro(
+       register struct repl *repl,
+       register struct idf *idf)
 {
        /*      expand_macro() does the actual macro replacement.
                "idf" is a description of the identifier which
@@ -168,9 +173,7 @@ expand_macro(repl, idf)
        return 1;
 }
 
-void
-expand_defined(repl)
-       register struct repl *repl;
+static void expand_defined(register struct repl *repl)
 {
        register int ch = GetChar();
        struct idf *id;
@@ -205,17 +208,13 @@ expand_defined(repl)
        add2repl(repl, ' ');
 }
 
-newarg(args)
-       struct args *args;
+static void newarg(struct args *args)
 {
        args->a_expptr = args->a_expbuf = Malloc((unsigned)(args->a_expsize = ARGBUF));
        args->a_rawptr = args->a_rawbuf = Malloc((unsigned)(args->a_rawsize = ARGBUF));
 }
 
-void
-getactuals(repl, idf)
-       struct repl *repl;
-       register struct idf *idf;
+static void getactuals(struct repl *repl, register struct idf *idf)
 {
        /*      Get the actual parameters from the input stream.
                The hard part is done by actual(), only comma's and
@@ -256,8 +255,7 @@ getactuals(repl, idf)
                error("too many macro arguments");
 }
 
-saveraw(repl)
-struct repl *repl;
+static void saveraw(struct repl *repl)
 {
        register struct repl *nrepl = ReplaceList;
        register struct args *ap = nrepl->r_args;
@@ -294,9 +292,7 @@ struct repl *repl;
        }
 }
 
-int
-actual(repl)
-       struct repl *repl;
+static int actual(struct repl *repl)
 {
        /*      This routine deals with the scanning of an actual parameter.
                It keeps in account the opening and closing brackets,
@@ -497,8 +493,7 @@ a_new_line:         ch = GetChar();
        }
 }
 
-macro_func(idef)
-       register struct idf *idef;
+static void macro_func(register struct idf *idef)
 {
        /*      macro_func() performs the special actions needed with some
                macros.  These macros are __FILE__ and __LINE__ which
@@ -526,11 +521,10 @@ macro_func(idef)
        }
 }
 
-void
-macro2buffer(repl, idf, args)
-       register struct repl *repl;
-       register struct idf *idf;
-       register struct args *args;
+static void macro2buffer(
+       register struct repl *repl,
+       register struct idf *idf,
+       register struct args *args)
 {
        /*      macro2buffer expands the replacement list and places the
                result onto the replacement buffer. It deals with the #
@@ -680,11 +674,10 @@ macro2buffer(repl, idf, args)
                error("illegal use of ## operator");
 }
 
-char *
-stringify(repl, ptr, args)
-       register struct repl *repl;
-       register char *ptr;
-       register struct args *args;
+static char *stringify(
+       register struct repl *repl,
+       register char *ptr,
+       register struct args *args)
 {
        /*      If a parameter is immediately preceded by a # token
                both are replaced by a single string literal that
@@ -747,9 +740,7 @@ stringify(repl, ptr, args)
 
 /* The following routine is also called from domacro.c.
  */
-add2repl(repl, ch)
-       register struct repl *repl;
-       int ch;
+void add2repl(register struct repl *repl, int ch)
 {
        register int index = repl->r_ptr - repl->r_text;
  
@@ -766,10 +757,7 @@ add2repl(repl, ch)
  * buffer. If the variable is zero, we must only stash into the expanded
  * buffer. Otherwise, we must use both buffers.
  */
-stash(repl, ch, stashraw)
-        struct repl *repl;
-        register int ch;
-        int stashraw;
+static void stash(struct repl *repl, register int ch, int stashraw)
 {
        /* Stash characters into the macro expansion buffer.
         */
index b8c8a91..bb9a171 100644 (file)
@@ -4,6 +4,10 @@
  */
 /* $Id$ */
 /*     DEFINITIONS FOR THE MACRO REPLACEMENT ROUTINES          */
+#ifndef _REPLACE_H_
+#define _REPLACE_H_
+
+#include "parameters.h"
 
 struct repl {
        struct  repl *next;
@@ -48,3 +52,12 @@ struct args {
 /* ALLOCDEF "args" 2 */
 
 #define NO_ARGS                (struct args *)0
+
+struct idf;
+
+void unstackrepl(void);
+int replace(register struct idf *idf);
+void EnableMacros(void);
+void add2repl(register struct repl *repl, int ch);
+
+#endif /* REPLACE_H_ */
index 1783562..9baa82f 100644 (file)
@@ -9,14 +9,13 @@
 #include "LLlex.h"
 #include "class.h"
 #include "input.h"
+#include "domacro.h"
+#include "error.h"
 
 extern int InputLevel;
 
-int skipspaces(ch, skipnl) register int ch;
+int skipspaces(register int ch, int skipnl)
 {
-       /*      skipspaces() skips any white space and returns the first
-           non-space character.
-       */
        register int nlseen = 0;
 
        for (;;)
@@ -65,9 +64,11 @@ int skipspaces(ch, skipnl) register int ch;
                else
                        return ch;
        }
+       /* garbage */
+       return 0;
 }
 
-SkipToNewLine()
+int SkipToNewLine(void)
 {
        register int ch;
        register int garbage = 0;