From f1cd17c51eef9c3213c0217da5f9a10b7bb1ca15 Mon Sep 17 00:00:00 2001 From: Manoel Trapier Date: Thu, 7 Mar 2013 18:13:58 +0100 Subject: [PATCH] Next batch, LLgen no longuer have warning under linux/clang. --- util/LLgen/src/LLgen.c | 65 +++++++++++++++---------------------- util/LLgen/src/LLgen.g | 21 +++--------- util/LLgen/src/LLgen.h | 16 +++++----- util/LLgen/src/name.c | 15 +++++---- util/LLgen/src/savegram.c | 22 ++++++------- util/LLgen/src/sets.c | 43 ++++++++----------------- util/LLgen/src/tokens.c | 67 +++++++++++++++------------------------ util/LLgen/src/tokens.g | 43 ++++++------------------- 8 files changed, 103 insertions(+), 189 deletions(-) diff --git a/util/LLgen/src/LLgen.c b/util/LLgen/src/LLgen.c index 6bb52f174..8b75177af 100644 --- a/util/LLgen/src/LLgen.c +++ b/util/LLgen/src/LLgen.c @@ -84,13 +84,7 @@ extern LLnc_recover(); # include "assert.h" # include "cclass.h" -# ifndef NORCSID -static string rcsid = "$Id$"; -# endif -p_mem alloc(), ralloc(); -string store(); -p_gram search(); -long ftell(); +#include "LLgen.h" static int acount; /* count #of global actions */ static p_term t_list; @@ -106,15 +100,9 @@ static int max_rules; #define RULEINCR 32 /* Here are defined : */ -STATIC newnorder(); -STATIC newtorder(); -STATIC mkalt(); -STATIC mkterm(); -STATIC p_gram copyrule(); /* and of course LLparse() */ -STATIC -newnorder(index) { +STATIC void newnorder(int index) { static int porder; if (norder != -1) { @@ -125,8 +113,7 @@ newnorder(index) { nonterms[porder].n_next = -1; } -STATIC -newtorder(index) { +STATIC void newtorder(int index) { static int porder; if (torder != -1) { @@ -137,7 +124,7 @@ newtorder(index) { tokens[porder].t_next = -1; } -p_init() +void p_init() { alt_table = (p_gram )alloc(ALTINCR*sizeof(t_gram)); n_alts = 0; @@ -295,9 +282,9 @@ LL_NOSCANDONE(C_IDENT); ff->ff_name = p; ff->ff_next = start; start = ff; - while (ff = ff->ff_next) { + while ((ff = ff->ff_next)) { if (! strcmp(p, ff->ff_name)) { - error(linecount, "\"%s\" already used in a %%start", p); + error(linecount, "\"%s\" already used in a %%start", p, NULL); break; } } @@ -313,7 +300,7 @@ LL_NOSCANDONE(C_IDENT); { if (!lexical) { lexical = store(lextoken.t_string); } - else error(linecount,"Duplicate %%lexical"); + else error(linecount,"Duplicate %%lexical", NULL, NULL); } LLtdecr(24); LL_NOSCANDONE(';'); @@ -327,11 +314,11 @@ LL_NOSCANDONE(C_IDENT); prefix = store(lextoken.t_string); if (strlen(prefix) > 6) { error(linecount, - "%%prefix too long"); + "%%prefix too long", NULL, NULL); prefix[6] = 0; } } - else error(linecount,"Duplicate %%prefix"); + else error(linecount,"Duplicate %%prefix", NULL, NULL); } LLtdecr(24); LL_NOSCANDONE(';'); @@ -344,14 +331,14 @@ LL_NOSCANDONE(C_IDENT); { #ifdef NON_CORRECTING if (non_corr) { - warning(linecount, "%%onerror conflicts with -n option"); + warning(linecount, "%%onerror conflicts with -n option", NULL, NULL); } else #endif if (! onerror) { onerror = store(lextoken.t_string); } - else error(linecount,"Duplicate %%onerror"); + else error(linecount,"Duplicate %%onerror", NULL, NULL); } LLtdecr(24); LL_NOSCANDONE(';'); @@ -407,7 +394,7 @@ LL_SAFE(C_IDENT); p = &nonterms[g_getcont(temp)]; if (p->n_rule) { error(linecount, -"Nonterminal %s already defined", lextoken.t_string); +"Nonterminal %s already defined", lextoken.t_string, NULL); } /* * Remember the order in which the nonterminals @@ -441,7 +428,7 @@ LL_SAFE(C_PARAMS); { if (lextoken.t_num > 0) { p->n_flags |= PARAMS; if (lextoken.t_num > 15) { - error(linecount,"Too many parameters"); + error(linecount,"Too many parameters", NULL, NULL); } else setntparams(p,lextoken.t_num); } @@ -538,7 +525,7 @@ LL6_simpleproduction( if (t & DEF) { if (haddefault) { error(n_lc, - "More than one %%default in alternation"); + "More than one %%default in alternation", NULL, NULL); } haddefault = 1; } @@ -569,7 +556,7 @@ break; # line 282 "LLgen.g" { if (conflres & (COND|PREFERING|AVOIDING)) { error(n_lc, - "Resolver on last alternative not allowed"); + "Resolver on last alternative not allowed", NULL, NULL); } mkalt(*p,conflres,n_lc,&alt_table[n_alts++]); altcnt++; @@ -585,7 +572,7 @@ LLtdecr(26); # line 292 "LLgen.g" { if (conflres & (COND|PREFERING|AVOIDING)) { error(o_lc, - "No alternation conflict resolver allowed here"); + "No alternation conflict resolver allowed here", NULL, NULL); } /* if (conflres & DEF) { @@ -604,8 +591,7 @@ goto L_3; # line 306 "LLgen.g" -STATIC -mkalt(prod,condition,lc,res) p_gram prod; register p_gram res; { +STATIC void mkalt(p_gram prod, int condition, int lc, p_gram res) { /* * Create an alternation and initialise it. */ @@ -759,7 +745,7 @@ LL_SAFE(C_ILLEGAL); rule_table[n_rules++] = *search(TERMINAL, "LLILLEGAL", BOTH); if (*conflres & DEF) { - error(linecount, "%%illegal not allowed in %%default rule"); + error(linecount, "%%illegal not allowed in %%default rule", NULL, NULL); } #endif } @@ -877,7 +863,7 @@ goto L_10; if ((q->t_flags & RESOLVER) && (kind == PLUS || kind == FIXED)) { error(linecount, - "%%while not allowed in this term"); + "%%while not allowed in this term", NULL, NULL); } /* * A persistent fixed term is the same @@ -921,8 +907,7 @@ break; # line 454 "LLgen.g" -STATIC -mkterm(prod,flags,lc,result) p_gram prod; register p_gram result; { +STATIC void mkterm(p_gram prod, int flags, int lc, p_gram result) { /* * Create a term, initialise it and return * a grammar element containing it @@ -1086,7 +1071,7 @@ LL_SSCANDONE(C_IDENT); if (erroneous) { if (g_gettype(pres) != TERMINAL){ warning(linecount, - "Erroneous only allowed on terminal"); + "Erroneous only allowed on terminal", NULL, NULL); erroneous = 0; } else @@ -1124,11 +1109,11 @@ LLtdecr(6); LL_SAFE(C_PARAMS); # line 522 "LLgen.g" { if (lextoken.t_num > 15) { - error(linecount,"Too many parameters"); + error(linecount,"Too many parameters", NULL, NULL); } else g_setnpar(pres,lextoken.t_num); if (g_gettype(pres) == TERMINAL) { error(linecount, - "Terminal with parameters"); + "Terminal with parameters", NULL, NULL); } } LLread(); @@ -1216,7 +1201,7 @@ LL_NOSCANDONE(C_IDENT); ff = g_getsubparse(pres); while (ff) { if (ff->ff_nont == g_getcont(temp)) { - warning(linecount, "\"%s\" used twice in %%substart", lextoken.t_string); + warning(linecount, "\"%s\" used twice in %%substart", lextoken.t_string, NULL); break; } ff = ff->ff_next; @@ -1348,7 +1333,7 @@ LL_SAFE(C_NUMBER); # line 621 "LLgen.g" { *t = lextoken.t_num; if (*t <= 0 || *t >= 8192) { - error(linecount,"Illegal number"); + error(linecount,"Illegal number", NULL, NULL); } } } diff --git a/util/LLgen/src/LLgen.g b/util/LLgen/src/LLgen.g index c64c15b33..f617c85dd 100644 --- a/util/LLgen/src/LLgen.g +++ b/util/LLgen/src/LLgen.g @@ -26,13 +26,7 @@ # include "assert.h" # include "cclass.h" -# ifndef NORCSID -static string rcsid = "$Id$"; -# endif -p_mem alloc(), ralloc(); -string store(); -p_gram search(); -long ftell(); +#include "LLgen.h" static int acount; /* count #of global actions */ static p_term t_list; @@ -48,15 +42,9 @@ static int max_rules; #define RULEINCR 32 /* Here are defined : */ -STATIC newnorder(); -STATIC newtorder(); -STATIC mkalt(); -STATIC mkterm(); -STATIC p_gram copyrule(); /* and of course LLparse() */ -STATIC -newnorder(index) { +STATIC void newnorder(int index) { static int porder; if (norder != -1) { @@ -67,8 +55,7 @@ newnorder(index) { nonterms[porder].n_next = -1; } -STATIC -newtorder(index) { +STATIC void newtorder(int index) { static int porder; if (torder != -1) { @@ -79,7 +66,7 @@ newtorder(index) { tokens[porder].t_next = -1; } -p_init() +void p_init() { alt_table = (p_gram )alloc(ALTINCR*sizeof(t_gram)); n_alts = 0; diff --git a/util/LLgen/src/LLgen.h b/util/LLgen/src/LLgen.h index fd311e773..d1615f5d7 100644 --- a/util/LLgen/src/LLgen.h +++ b/util/LLgen/src/LLgen.h @@ -92,7 +92,7 @@ void correct_prefix(void); /* LLgen.c */ void newnorder(int index); void newtorder(int index); -int p_init(void); +void p_init(void); void LL0_spec(void); void mkalt(p_gram prod, int condition, int lc, p_gram res); void mkterm(p_gram prod, int flags, int lc, p_gram result); @@ -126,7 +126,7 @@ void copyfile(char *file); void install(char *target, char *source); /* name.c */ -int name_init(void); +void name_init(void); p_entry newentry(char * str, p_entry next); char * store(char * s); int hash(char * str); @@ -138,24 +138,24 @@ void reachable(p_nont p); void reachwalk(p_gram p); /* sets.c */ -int setinit(int nt_needed); +void setinit(int nt_needed); p_set get_set(void); p_set setalloc(void); int setunion(p_set a, p_set b); int setintersect(p_set a, p_set b); -int setminus(p_set a, p_set b); +void setminus(p_set a, p_set b); int setempty(p_set p); int findindex(p_set set); int setcount(p_set set, int *saved); /* tokens.c */ -void copyact(int ch1, int ch2, int flag, int level); +void copyact(char ch1, char ch2, int flag, int level); int scanner(void); int input(void); -int unput(int c); -int skipcomment(int flag); +void unput(int c); +void skipcomment(int flag); char * vallookup(int s); char * cpy(int s, char * p, int inserted); -int LLmessage(int d); +void LLmessage(int d); #endif /* LLGEN_H */ diff --git a/util/LLgen/src/name.c b/util/LLgen/src/name.c index 267c48eab..0b875e926 100644 --- a/util/LLgen/src/name.c +++ b/util/LLgen/src/name.c @@ -17,6 +17,9 @@ * initialising routine. */ +#include +#include + # include "types.h" # include "extern.h" # include "assert.h" @@ -125,19 +128,19 @@ search(type,str,option) register string str; { if (type == TERMINAL) { error(linecount, "%s: is already a nonterminal", - str); + str, NULL); continue; } else if (type == NONTERM) { error(linecount, "%s : is already a token", - str); + str, NULL); continue; } } if (option==ENTERING) { error(linecount, - "%s : is already defined",str); + "%s : is already defined",str, NULL); } p->h_type.g_lineno = linecount; return &(p->h_type); @@ -180,7 +183,7 @@ search(type,str,option) register string str; { val = '\\'; break; default : - error(linecount,e_literal); + error(linecount,e_literal, NULL, NULL); } } else { /* @@ -189,7 +192,7 @@ search(type,str,option) register string str; { if (str[1] > '3' || str[1] < '0' || str[2] > '7' || str[2] < '0' || str[3] > '7' || str[3] < '0' || - str[4] != '\0') error(linecount,e_literal); + str[4] != '\0') error(linecount,e_literal, NULL, NULL); val = 64*str[1] - 73*'0' + 8*str[2] + str[3]; } @@ -198,7 +201,7 @@ search(type,str,option) register string str; { * No escape in literal */ if (str[1] == '\0') val = str[0]; - else error(linecount,e_literal); + else error(linecount,e_literal, NULL, NULL); } pt->t_tokno = val; g_settype(&(p->h_type), LITERAL); diff --git a/util/LLgen/src/savegram.c b/util/LLgen/src/savegram.c index d891c1e4e..4b2705137 100644 --- a/util/LLgen/src/savegram.c +++ b/util/LLgen/src/savegram.c @@ -32,17 +32,15 @@ # include "assert.h" # include "sets.h" +#include "LLgen.h" + #define LLALT 9999 static int nt_highest; extern int nbytes; -extern p_mem alloc(); -extern p_set start_firsts; -extern p_set setalloc(); -extern p_gram search(); -STATIC save_rule(); -STATIC save_set(); +STATIC void save_rule(p_gram p, int tail); +STATIC void save_set(p_set p); /* t_list will contain terms to be `flattened' */ static struct t_list { @@ -69,7 +67,7 @@ static FILE *fgram; used when LLgen called with -n -s options */ int act_nt; -save_grammar(f) FILE *f; { +void save_grammar(FILE *f) { /* * Save the grammar */ @@ -131,7 +129,7 @@ save_grammar(f) FILE *f; { if (! p->n_rule) { /* undefined */ f_input = p->n_string; error(p->n_lineno,"Nonterminal %s not defined", - p->n_name); + p->n_name, NULL); } /* Save the first_set and follow set */ @@ -244,7 +242,7 @@ save_grammar(f) FILE *f; { if (check == 0) warning((sub_list + i)->sub_action->g_lineno, "\"%s\" is not a startsymbol", - (&nonterms[ff->ff_nont])->n_name); + (&nonterms[ff->ff_nont])->n_name, NULL); } save_set(temp_set); save_set(temp_set); @@ -267,8 +265,7 @@ save_grammar(f) FILE *f; { fprintf(fgram, "#define LLNNONTERMINALS %d\n", nt_highest - assval + 1); } -STATIC -save_rule(p, tail) register p_gram p; int tail; { +STATIC void save_rule(p_gram p, int tail) { /* Walk through rule p, saving it. The non-terminal tail is appended to the rule. It needs to be appended in this function @@ -363,8 +360,7 @@ save_rule(p, tail) register p_gram p; int tail; { } } -STATIC -save_set(p) p_set p; { +STATIC void save_set(p_set p) { register int k; register unsigned i; int j; diff --git a/util/LLgen/src/sets.c b/util/LLgen/src/sets.c index dd1c1364f..628ba213a 100644 --- a/util/LLgen/src/sets.c +++ b/util/LLgen/src/sets.c @@ -16,34 +16,24 @@ * Set manipulation and allocation routines. */ +#include +#include + # include "types.h" # include "extern.h" # include "sets.h" # include "assert.h" -# ifndef NORCSID -static string rcsid9 = "$Id$"; -# endif +#include "LLgen.h" /* In this file the following routines are defined: */ -extern setinit(); -extern p_set setalloc(); -extern p_set get_set(); -extern int setunion(); -extern int setintersect(); -extern setminus(); -extern int setempty(); -extern int findindex(); -extern int setcount(); - int nbytes; static int setsize; int tsetsize; p_set *setptr, *maxptr; static t_info set_info; -p_mem alloc(); -setinit(nt_needed) { +void setinit(int nt_needed) { /* * Initialises some variables needed for setcomputations */ @@ -61,8 +51,7 @@ setinit(nt_needed) { set_info.i_incr = 20; } -p_set -get_set() { +p_set get_set() { /* * Allocate a set that cannot be freed */ @@ -80,8 +69,7 @@ get_set() { return p; } -p_set -setalloc() { +p_set setalloc() { /* * Allocate a set which can later be freed. */ @@ -95,8 +83,7 @@ setalloc() { return p; } -int -setunion(a,b) register p_set a,b; { +int setunion(p_set a, p_set b) { /* * a = a union b. * Return 1 if the set a changed @@ -115,8 +102,7 @@ setunion(a,b) register p_set a,b; { return nsub; } -int -setintersect(a,b) register p_set a,b; { +int setintersect(p_set a, p_set b) { /* * a = a intersect b. * return 1 if the result is empty @@ -132,7 +118,7 @@ setintersect(a,b) register p_set a,b; { return nempty; } -setminus(a,b) register p_set a,b; { +void setminus(p_set a, p_set b) { /* * a = a setminus b */ @@ -144,8 +130,7 @@ setminus(a,b) register p_set a,b; { } while (--i); } -int -setempty(p) register p_set p; { +int setempty(p_set p) { /* * Return 1 if the set p is empty */ @@ -158,8 +143,7 @@ setempty(p) register p_set p; { return 1; } -int -findindex(set) p_set set; { +int findindex(p_set set) { /* * The set "set" will serve as a recovery set. * Search for it in the table. If not present, enter it. @@ -204,8 +188,7 @@ findindex(set) p_set set; { return nbytes * (maxptr++ - setptr); } -int -setcount(set, saved) register p_set set; int *saved; { +int setcount(p_set set, int *saved) { register int i, j; for (j = 0, i = 0; i < ntokens; i++) { diff --git a/util/LLgen/src/tokens.c b/util/LLgen/src/tokens.c index 8fa2b3613..76cc43221 100644 --- a/util/LLgen/src/tokens.c +++ b/util/LLgen/src/tokens.c @@ -15,6 +15,9 @@ #define LL_assert(x) /* nothing */ #endif +#include +#include + extern int LLsymb; #define LL_SAFE(x) /* Nothing */ @@ -83,23 +86,9 @@ extern LLnc_recover(); # include "assert.h" # include "cclass.h" -# ifndef NORCSID -static string rcsidc = "$Id$"; -# endif +#include "LLgen.h" /* Here are defined : */ -extern int scanner(); -extern LLmessage(); -extern int input(); -extern unput(); -extern skipcomment(); -# ifdef LINE_DIRECTIVE -STATIC linedirective(); -# endif -STATIC string cpy(); -STATIC string vallookup(); -STATIC copyact(); - static int nparams; # line 75 "tokens.g" @@ -144,8 +133,7 @@ static t_token savedtok; /* to save lextoken in case of an insertion */ static int nostartline; /* = 0 if at the start of a line */ # endif -STATIC -copyact(ch1,ch2,flag,level) char ch1,ch2; { +STATIC void copyact(char ch1, char ch2, int flag, int level) { /* * Copy an action to file f. Opening bracket is ch1, closing bracket * is ch2. @@ -186,7 +174,7 @@ copyact(ch1,ch2,flag,level) char ch1,ch2; { case ')': case '}': case ']': - error(linecount,"Parentheses mismatch"); + error(linecount,"Parentheses mismatch", NULL, NULL); break; case '(': text_seen = 1; @@ -217,7 +205,7 @@ copyact(ch1,ch2,flag,level) char ch1,ch2; { text_seen = 0; nparams++; if (ch == ',' && (flag & 2)) { - warning(linecount, "Parameters may not be separated with a ','"); + warning(linecount, "Parameters may not be separated with a ','", NULL, NULL); ch = ';'; } } @@ -238,7 +226,7 @@ copyact(ch1,ch2,flag,level) char ch1,ch2; { ch = input(); } if (ch == '\n') { - error(linecount,"Newline in string"); + error(linecount,"Newline in string", NULL, NULL); unput(match); } putc(ch,f); @@ -246,7 +234,7 @@ copyact(ch1,ch2,flag,level) char ch1,ch2; { if (ch == match) break; /* Fall through */ case EOF : - if (!level) error(saved,"Action does not terminate"); + if (!level) error(saved,"Action does not terminate", NULL, NULL); strip_grammar = sav_strip; return; default: @@ -256,7 +244,7 @@ copyact(ch1,ch2,flag,level) char ch1,ch2; { } } -scanner() { +int scanner() { /* * Lexical analyser, what else */ @@ -306,7 +294,7 @@ scanner() { for (;;) { ch = input(); if (ch == '\n' || ch == EOF) { - error(linecount,"Missing '"); + error(linecount,"Missing '", NULL, NULL); break; } if (ch == '\'') break; @@ -370,7 +358,7 @@ scanner() { } w++; } - error(linecount,"Illegal reserved word"); + error(linecount,"Illegal reserved word", NULL, NULL); } lextoken.t_string = ltext; return C_IDENT; @@ -381,13 +369,13 @@ scanner() { static int backupc; /* for unput() */ static int nonline; /* = 1 if last char read was a newline */ -input() { +int input() { /* * Low level input routine, used by all other input routines */ register c; - if (c = backupc) { + if ((c = backupc)) { /* Last char was "unput()". Deliver it again */ backupc = 0; @@ -412,14 +400,14 @@ input() { return c; } -unput(c) { +void unput(int c) { /* * "unread" c */ backupc = c; } -skipcomment(flag) { +void skipcomment(int flag) { /* * Skip comment. If flag != 0, the comment is inside a fragment * of C-code, so keep it. @@ -428,7 +416,7 @@ skipcomment(flag) { int saved; /* line count on which comment starts */ saved = linecount; - if (input() != '*') error(linecount,"Illegal comment"); + if (input() != '*') error(linecount,"Illegal comment", NULL, NULL); if (flag) putc('*', fact); do { ch = input(); @@ -439,12 +427,11 @@ skipcomment(flag) { if (ch == '/') return; } } while (ch != EOF); - error(saved,"Comment does not terminate"); + error(saved,"Comment does not terminate", NULL, NULL); } # ifdef LINE_DIRECTIVE -STATIC -linedirective() { +STATIC void linedirective() { /* * Read a line directive */ @@ -461,7 +448,7 @@ linedirective() { ch = input(); } while (ch != '\n' && c_class[ch] != ISDIG); if (ch == '\n') { - error(linecount,s_error); + error(linecount, s_error, NULL, NULL); return; } i = 0; @@ -476,7 +463,7 @@ linedirective() { *c++ = ch = input(); } while (ch != '"' && ch != '\n'); if (ch == '\n') { - error(linecount,s_error); + error(linecount, s_error, NULL, NULL); return; } *--c = '\0'; @@ -492,8 +479,7 @@ linedirective() { } # endif -STATIC string -vallookup(s) { +STATIC string vallookup(int s) { /* * Look up the keyword that has token number s */ @@ -506,8 +492,7 @@ vallookup(s) { return 0; } -STATIC string -cpy(s,p,inserted) register string p; { +STATIC string cpy(int s, char *p, int inserted) { /* * Create a piece of error message for token s and put it at p. * inserted = 0 if the token s was deleted (in which case we have @@ -577,9 +562,7 @@ cpy(s,p,inserted) register string p; { return p; } -string strcpy(); - -LLmessage(d) { +void LLmessage(int d) { /* * d is either 0, in which case the current token has been deleted, * or non-zero, in which case it represents a token that is inserted @@ -621,7 +604,7 @@ LLmessage(d) { #ifdef LLNONCORR else #endif - error(linecount, "%s", buf); + error(linecount, "%s", buf, NULL); /* Don't change this line to * error(linecount, buf). * The string in "buf" might contain '%' ... diff --git a/util/LLgen/src/tokens.g b/util/LLgen/src/tokens.g index fbdd83d2d..20fd0fcfc 100644 --- a/util/LLgen/src/tokens.g +++ b/util/LLgen/src/tokens.g @@ -24,23 +24,6 @@ # include "assert.h" # include "cclass.h" -# ifndef NORCSID -static string rcsidc = "$Id$"; -# endif - -/* Here are defined : */ -extern int scanner(); -extern LLmessage(); -extern int input(); -extern unput(); -extern skipcomment(); -# ifdef LINE_DIRECTIVE -STATIC linedirective(); -# endif -STATIC string cpy(); -STATIC string vallookup(); -STATIC copyact(); - static int nparams; } /* Classes */ @@ -114,8 +97,7 @@ static t_token savedtok; /* to save lextoken in case of an insertion */ static int nostartline; /* = 0 if at the start of a line */ # endif -STATIC -copyact(ch1,ch2,flag,level) char ch1,ch2; { +STATIC void copyact(char ch1, char ch2, int flag, int level) { /* * Copy an action to file f. Opening bracket is ch1, closing bracket * is ch2. @@ -226,7 +208,7 @@ copyact(ch1,ch2,flag,level) char ch1,ch2; { } } -scanner() { +int scanner() { /* * Lexical analyser, what else */ @@ -351,11 +333,11 @@ scanner() { static int backupc; /* for unput() */ static int nonline; /* = 1 if last char read was a newline */ -input() { +int input() { /* * Low level input routine, used by all other input routines */ - register c; + int c; if (c = backupc) { /* Last char was "unput()". Deliver it again @@ -382,14 +364,14 @@ input() { return c; } -unput(c) { +void unput(c) { /* * "unread" c */ backupc = c; } -skipcomment(flag) { +void skipcomment(flag) { /* * Skip comment. If flag != 0, the comment is inside a fragment * of C-code, so keep it. @@ -413,8 +395,7 @@ skipcomment(flag) { } # ifdef LINE_DIRECTIVE -STATIC -linedirective() { +STATIC void linedirective() { /* * Read a line directive */ @@ -462,8 +443,7 @@ linedirective() { } # endif -STATIC string -vallookup(s) { +STATIC string vallookup(s) { /* * Look up the keyword that has token number s */ @@ -476,8 +456,7 @@ vallookup(s) { return 0; } -STATIC string -cpy(s,p,inserted) register string p; { +STATIC string cpy(int s,string p, int inserted) { /* * Create a piece of error message for token s and put it at p. * inserted = 0 if the token s was deleted (in which case we have @@ -547,9 +526,7 @@ cpy(s,p,inserted) register string p; { return p; } -string strcpy(); - -LLmessage(d) { +void LLmessage(int d) { /* * d is either 0, in which case the current token has been deleted, * or non-zero, in which case it represents a token that is inserted -- 2.34.1