Pre-ansification changes for bin/sed
authorNick Downing <downing.nick@gmail.com>
Sun, 29 Jan 2017 15:40:57 +0000 (02:40 +1100)
committerNick Downing <downing.nick@gmail.com>
Sun, 29 Jan 2017 15:52:36 +0000 (02:52 +1100)
.gitignore
bin/sed/Makefile
bin/sed/conflicts.txt [new file with mode: 0644]
bin/sed/groups.txt [new file with mode: 0644]
bin/sed/sed.h
bin/sed/sed0.c
bin/sed/sed1.c
n.sh

index 1e263c6..d7ef389 100644 (file)
@@ -20,9 +20,12 @@ bin/chgrp
 bin/chmod
 bin/cmp
 bin/cp
+bin/csh/csh
 bin/date
 bin/dd
 bin/df
+bin/diff/diff
+bin/diff/diffh
 bin/du
 bin/echo
 bin/ed
@@ -37,6 +40,7 @@ bin/ls
 bin/mail
 bin/mkdir
 bin/mt
+bin/mv
 bin/nice
 bin/nm
 bin/od
@@ -92,18 +96,18 @@ lib/libc/net/netlib
 lib/libc/net/netlib_p
 lib/libc/ns/nslib
 lib/libc/ns/nslib_p
-lib/libc/oldprotos.txt
 lib/libc/oldprotos.temp
+lib/libc/oldprotos.txt
 lib/libc/stdio/stdiolib
 lib/libc/stdio/stdiolib_p
 lib/libc/sys/syslib
 lib/libc/sys/syslib_p
 lib/libc/xx*
+scripts/newline
+scripts/nocomment
+scripts/nostring
 test/hello
 test/hello.txt
 xify/cc
 xify/ld
 xify/xify
-scripts/newline
-scripts/nocomment
-scripts/nostring
index d2f784a..7afca09 100644 (file)
@@ -3,7 +3,7 @@
 CFLAGS=-O -w
 
 sed:   sed0.o sed1.o
-       cc -o sed *.o
+       ${CC} -o sed *.o
 
 sed0.o: sed0.c sed.h
 sed1.o: sed1.c sed.h
diff --git a/bin/sed/conflicts.txt b/bin/sed/conflicts.txt
new file mode 100644 (file)
index 0000000..30b31c2
--- /dev/null
@@ -0,0 +1,3 @@
+sed.h sys/ttychars.h
+sed0.c sys/ttychars.h
+sed1.c sys/ttychars.h
diff --git a/bin/sed/groups.txt b/bin/sed/groups.txt
new file mode 100644 (file)
index 0000000..3b7341e
--- /dev/null
@@ -0,0 +1,2 @@
+sed0.c sed.h
+sed1.c sed.h
index 7680258..0d3bb8f 100644 (file)
 #define        LABSIZE 50
 #define NBRA   9
 
-FILE   *fin;
-union reptr    *abuf[ABUFSIZE];
-union reptr **aptr;
-char   *lastre;
-char   ibuf[BUFSIZ];
-char   *cbp;
-char   *ebp;
-char   genbuf[LBSIZE];
-char   *loc1;
-char   *loc2;
-char   *locs;
-char   seof;
-char   *reend;
-char   *lbend;
-char   *hend;
-char   *lcomend;
-union reptr    *ptrend;
-int    eflag;
-int    dolflag;
-int    sflag;
-int    jflag;
-int    numbra;
-int    delflag;
-long   lnum;
-char   linebuf[LBSIZE+1];
-char   holdsp[LBSIZE+1];
-char   *spend;
-char   *hspend;
-int    nflag;
-int    gflag;
-char   *braelist[NBRA];
-char   *braslist[NBRA];
-long   tlno[NLINES];
-int    nlno;
-char   fname[12][40];
-FILE   *fcode[12];
-int    nfiles;
+extern FILE    *fin;
+extern struct re       *abuf[ABUFSIZE];
+extern struct re **aptr;
+extern char    *lastre;
+extern char    ibuf[BUFSIZ];
+extern char    *cbp;
+extern char    *ebp;
+extern char    genbuf[LBSIZE];
+extern char    *loc1;
+extern char    *loc2;
+extern char    *locs;
+extern char    seof;
+extern char    *reend;
+extern char    *lbend;
+extern char    *hend;
+extern char    *lcomend;
+extern struct re       *ptrend;
+extern int     eflag;
+extern int     dolflag;
+extern int     sflag;
+extern int     jflag;
+extern int     numbra;
+extern int     delflag;
+extern long    lnum;
+extern char    linebuf[LBSIZE+1];
+extern char    holdsp[LBSIZE+1];
+extern char    *spend;
+extern char    *hspend;
+extern int     nflag;
+extern int     gflag;
+extern char    *braelist[NBRA];
+extern char    *braslist[NBRA];
+extern long    tlno[NLINES];
+extern int     nlno;
+extern char    fname[12][40];
+extern FILE    *fcode[12];
+extern int     nfiles;
 
 #define ACOM   01
 #define BCOM   020
@@ -96,62 +96,53 @@ int nfiles;
 #define        YCOM    026
 #define XCOM   033
 
-char   *cp;
-char   *reend;
-char   *lbend;
-
-union  reptr {
-       struct reptr1 {
-               char    *ad1;
-               char    *ad2;
-               char    *re1;
-               char    *rhs;
-               FILE    *fcode;
-               char    command;
-               char    gfl;
-               char    pfl;
-               char    inar;
-               char    negfl;
-       } A;
-       struct reptr2 {
-               char    *ad1;
-               char    *ad2;
-               union reptr     *lb1;
-               char    *rhs;
-               FILE    *fcode;
-               char    command;
-               char    gfl;
-               char    pfl;
-               char    inar;
-               char    negfl;
-       } B;
+extern char    *cp;
+extern char    *reend;
+extern char    *lbend;
+
+extern struct  re {
+       char    *ad1;
+       char    *ad2;
+       union {
+               char    *reptr_re1;
+               struct re *reptr_lb1;
+       } reptr;
+#define re1 reptr.reptr_re1
+#define lb1 reptr.reptr_lb1
+       char    *rhs;
+       FILE    *fcode;
+       char    command;
+       char    gfl;
+       char    pfl;
+       char    inar;
+       char    negfl;
 } ptrspace[PTRSIZE], *rep;
 
 
-char   respace[RESIZE];
+extern char    respace[RESIZE];
 
-struct label {
+extern struct label {
        char    asc[9];
-       union reptr     *chain;
-       union reptr     *address;
+       struct re       *chain;
+       struct re       *address;
 } ltab[LABSIZE];
 
-struct label   *lab;
-struct label   *labend;
+extern struct label    *lab;
+extern struct label    *labend;
 
-int    f;
-int    depth;
+extern int     f;
+extern int     depth;
 
-int    eargc;
-char   **eargv;
+extern int     eargc;
+extern char    **eargv;
 
 extern char    bittab[];
 
-union reptr    **cmpend[DEPTH];
-int    depth;
-union reptr    *pending;
-char   *badp;
-char   bad;
+extern struct re       **cmpend[DEPTH];
+extern int     depth;
+extern struct re       *pending;
+extern char    *badp;
+extern char    bad;
 char   *compile();
 char   *ycomp();
 char   *address();
@@ -160,4 +151,4 @@ char        *compsub();
 struct label   *search();
 char   *gline();
 char   *place();
-char   compfl;
+extern char    compfl;
index 46dbc49..925784c 100644 (file)
@@ -3,6 +3,71 @@
 #include <stdio.h>
 #include "sed.h"
 
+/* moved here from sed.h, which now just declares them extern */
+FILE   *fin;
+struct re      *abuf[ABUFSIZE];
+struct re **aptr;
+char   *lastre;
+char   ibuf[BUFSIZ];
+char   *cbp;
+char   *ebp;
+char   genbuf[LBSIZE];
+char   *loc1;
+char   *loc2;
+char   *locs;
+char   seof;
+char   *reend;
+char   *lbend;
+char   *hend;
+char   *lcomend;
+struct re      *ptrend;
+int    eflag;
+int    dolflag;
+int    sflag;
+int    jflag;
+int    numbra;
+int    delflag;
+long   lnum;
+char   linebuf[LBSIZE+1];
+char   holdsp[LBSIZE+1];
+char   *spend;
+char   *hspend;
+int    nflag;
+int    gflag;
+char   *braelist[NBRA];
+char   *braslist[NBRA];
+long   tlno[NLINES];
+int    nlno;
+char   fname[12][40];
+FILE   *fcode[12];
+int    nfiles;
+
+char   *cp;
+char   *reend;
+char   *lbend;
+
+struct re ptrspace[PTRSIZE], *rep;
+
+char   respace[RESIZE];
+
+struct label ltab[LABSIZE];
+
+struct label   *lab;
+struct label   *labend;
+
+int    f;
+int    depth;
+
+int    eargc;
+char   **eargv;
+
+struct re      **cmpend[DEPTH];
+int    depth;
+struct re      *pending;
+char   *badp;
+char   bad;
+char   compfl;
+
 struct label   *labtab = ltab;
 char   CGMES[] = "command garbled: %s\n";
 char   TMMES[] = "Too much text: %s\n";
@@ -119,7 +184,7 @@ fcomp()
 
        register char   *p, *op, *tp;
        char    *address();
-       union reptr     *pt, *pt1;
+       struct re       *pt, *pt1;
        int     i;
        struct label    *lpt;
 
@@ -916,7 +981,7 @@ struct label        *ptr;
 dechain()
 {
        struct label    *lptr;
-       union reptr     *rptr, *trptr;
+       struct re       *rptr, *trptr;
 
        for(lptr = labtab; lptr < lab; lptr++) {
 
index 27b04ba..c84b63f 100644 (file)
@@ -42,7 +42,7 @@ execute(file)
 char *file;
 {
        register char *p1, *p2;
-       register union reptr    *ipc;
+       register struct re      *ipc;
        int     c;
        char    *execp;
 
@@ -336,7 +336,7 @@ char        *alp, *aep;
        }
 }
 substitute(ipc)
-union reptr    *ipc;
+struct re      *ipc;
 {
        if(match(ipc->re1, 0) == 0)     return(0);
 
@@ -403,7 +403,7 @@ char        *asp, *al1, *al2;
 }
 
 command(ipc)
-union reptr    *ipc;
+struct re      *ipc;
 {
        register int    i;
        register char   *p1, *p2, *p3;
diff --git a/n.sh b/n.sh
index 9516932..ef56a65 100755 (executable)
--- a/n.sh
+++ b/n.sh
@@ -26,6 +26,6 @@ mkdir -p lib/libc/ns/profiled
 mkdir -p lib/libc/stdio/profiled
 mkdir -p lib/libc/sys/profiled
 (cd lib/libc && make.sh clean && make.sh && make.sh install)
-(cd bin && make.sh clean && make.sh SUBDIR=as NSTD= KMEM= && make.sh SUBDIR=as NSTD= KMEM= install)
+(cd bin && make.sh clean && make.sh SUBDIR="as csh diff" NSTD= KMEM= && make.sh SUBDIR="as csh diff" NSTD= KMEM= install)
 
 #(cd test && make clean && make)