From: Michael Furman Date: Sun, 22 Apr 2018 16:19:38 +0000 (-0500) Subject: Fix expr.y and find.y to work with regular yacc X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=33babc5594d0bea3f4b122cd5bdfccdfd3244269;p=FUZIX.git Fix expr.y and find.y to work with regular yacc --- diff --git a/Applications/MWC/cmd/expr.y b/Applications/MWC/cmd/expr.y index a550a6e2..f308c687 100644 --- a/Applications/MWC/cmd/expr.y +++ b/Applications/MWC/cmd/expr.y @@ -80,6 +80,8 @@ int cbsiz = CODELEN; /* Initial size of codebuf */ #define YYSTYPE char * +char **av; /* Global version of argv[] in main() */ +int avx; /* Index into av[] */ %} @@ -154,9 +156,6 @@ expr: -char **av; /* Global version of argv[] in main() */ -int avx; /* Index into av[] */ - int main(int argc, char *argv[]) { if (argc == 1) diff --git a/Applications/MWC/cmd/find.y b/Applications/MWC/cmd/find.y index 527ceaeb..4eb59302 100644 --- a/Applications/MWC/cmd/find.y +++ b/Applications/MWC/cmd/find.y @@ -29,6 +29,34 @@ #define snode(f,s) lnode(FUN,f,0,s) #define YYSTYPE NODE * + +NODE *code; +int seflag; /* Set if a side effect (print, exec) found */ + +char *next(void); +NODE *bnode(int, NODE *, NODE *); +NODE *enode(int type); +NODE *lnode(int op, int (*fn)(NODE *), int val, char *str); +NODE *nnode(int (*fun)(NODE *)); +NODE *onode(int (*fun)(NODE *)); +NODE *getuser(void); +NODE *getgroup(void); +NODE *getnewer(void); +int xname(NODE *np); +int xperm(NODE *np); +int xtype(NODE *np); +int xlinks(NODE *np); +int xuser(NODE *np); +int xgroup(NODE *np); +int xsize(NODE *np); +int xinum(NODE *np); +int xatime(NODE *np); +int xctime(NODE *np); +int xmtime(NODE *np); +int xnewer(NODE *np); +int xexec(NODE *np); +int xprint(NODE *np); +int xnop(NODE *np); %} %start command @@ -111,39 +139,12 @@ char nospace[] = "out of memory"; time_t curtime; -NODE *code; -int seflag; /* Set if a side effect (print, exec) found */ - char *buildname(struct dirent *dp, char *ep); int execute(NODE *np); void find(char *dir); void fentry(char *ep, struct stat *sbp); void ffork(char *ep, struct stat *sbp); void usage(void); -char *next(void); -NODE *bnode(int, NODE *, NODE *); -NODE *enode(int type); -NODE *lnode(int op, int (*fn)(NODE *), int val, char *str); -NODE *nnode(int (*fun)(NODE *)); -NODE *onode(int (*fun)(NODE *)); -NODE *getuser(void); -NODE *getgroup(void); -NODE *getnewer(void); -int xname(NODE *np); -int xperm(NODE *np); -int xtype(NODE *np); -int xlinks(NODE *np); -int xuser(NODE *np); -int xgroup(NODE *np); -int xsize(NODE *np); -int xinum(NODE *np); -int xatime(NODE *np); -int xctime(NODE *np); -int xmtime(NODE *np); -int xnewer(NODE *np); -int xexec(NODE *np); -int xprint(NODE *np); -int xnop(NODE *np); int main(int argc, char *argv[]) {