330 lines
7.5 KiB
Plaintext
330 lines
7.5 KiB
Plaintext
*** 1.1 1991/12/11 16:13:13
|
|
--- Makefile 1991/12/11 17:07:11
|
|
***************
|
|
*** 64,71 ****
|
|
# MISSING = -DSPRINTF_INT -DBLKSIZE_MISSING -DSTRERROR_MISSING -DRANDOM_MISSING
|
|
|
|
# VAX running Ultrix 3.x
|
|
- MISSING = -DSTRERROR_MISSING
|
|
|
|
# A generic 4.2 BSD machine
|
|
# (eliminate GETOPT_MISSING for 4.3 release)
|
|
# (eliminate STRCASE_MISSING and TMPNAM_MISSING for Tahoe release)
|
|
--- 64,75 ----
|
|
# MISSING = -DSPRINTF_INT -DBLKSIZE_MISSING -DSTRERROR_MISSING -DRANDOM_MISSING
|
|
|
|
# VAX running Ultrix 3.x
|
|
|
|
+ # LINUX
|
|
+ MISSING = -DSPRINTF_INT -DTMPNAM_MISSING -DBLKSIZE_MISSING -DSTRCASE_MISSING \
|
|
+ -Dalloca=__builtin_alloca -DGCVT_MISSING -DRANDOM_MISSING \
|
|
+ -DBCOPY_MISSING -DSTRTOD_MISSING
|
|
+
|
|
# A generic 4.2 BSD machine
|
|
# (eliminate GETOPT_MISSING for 4.3 release)
|
|
# (eliminate STRCASE_MISSING and TMPNAM_MISSING for Tahoe release)
|
|
***************
|
|
*** 80,92 ****
|
|
|
|
# Comment out the next line if you don't have gcc.
|
|
# Also choose just one of -g and -O.
|
|
! #CC= gcc
|
|
|
|
! #OPTIMIZE= -O -g
|
|
PROFILE= #-pg
|
|
DEBUG= #-DDEBUG #-DMEMDEBUG #-DFUNC_TRACE #-DMPROF
|
|
DEBUGGER= #-g -Bstatic
|
|
! WARN= #-W -Wunused -Wimplicit -Wreturn-type -Wcomment # for gcc only
|
|
|
|
# Parser to use on grammar -- if you don't have bison use the first one
|
|
#PARSER = yacc
|
|
--- 84,96 ----
|
|
|
|
# Comment out the next line if you don't have gcc.
|
|
# Also choose just one of -g and -O.
|
|
! CC= gcc
|
|
|
|
! OPTIMIZE= -O #-g
|
|
PROFILE= #-pg
|
|
DEBUG= #-DDEBUG #-DMEMDEBUG #-DFUNC_TRACE #-DMPROF
|
|
DEBUGGER= #-g -Bstatic
|
|
! WARN= -W -Wunused -Wimplicit -Wreturn-type -Wcomment # for gcc only
|
|
|
|
# Parser to use on grammar -- if you don't have bison use the first one
|
|
#PARSER = yacc
|
|
***************
|
|
*** 154,160 ****
|
|
|
|
# rules to build gawk
|
|
gawk: $(ALLOBJS) $(GNUOBJS)
|
|
! $(CC) -o gawk $(CFLAGS) $(ALLOBJS) $(GNUOBJS) -lm
|
|
|
|
$(AWKOBJS): awk.h
|
|
|
|
--- 158,164 ----
|
|
|
|
# rules to build gawk
|
|
gawk: $(ALLOBJS) $(GNUOBJS)
|
|
! $(CC) -o gawk $(CFLAGS) $(ALLOBJS) $(GNUOBJS) #-lm
|
|
|
|
$(AWKOBJS): awk.h
|
|
|
|
*** 1.1 1991/12/11 16:18:17
|
|
--- awk.h 1991/12/11 17:07:45
|
|
***************
|
|
*** 42,51 ****
|
|
extern char *alloca();
|
|
#endif
|
|
#else
|
|
extern char *alloca();
|
|
#endif
|
|
#ifdef SPRINTF_INT
|
|
! extern int sprintf();
|
|
#else /* not USG */
|
|
/* nasty nasty berkelixm */
|
|
#define setjmp _setjmp
|
|
--- 42,53 ----
|
|
extern char *alloca();
|
|
#endif
|
|
#else
|
|
+ #ifndef alloca
|
|
extern char *alloca();
|
|
#endif
|
|
+ #endif
|
|
#ifdef SPRINTF_INT
|
|
! /* extern int sprintf(); XXX LINUX */
|
|
#else /* not USG */
|
|
/* nasty nasty berkelixm */
|
|
#define setjmp _setjmp
|
|
***************
|
|
*** 78,99 ****
|
|
extern char *memset(char *, int, int);
|
|
|
|
/* extern int fprintf(FILE *, char *, ...); */
|
|
! extern int fprintf();
|
|
extern int vfprintf();
|
|
#ifndef MSDOS
|
|
! extern int fwrite(char *, int, int, FILE *);
|
|
#endif
|
|
extern int fflush(FILE *);
|
|
extern int fclose(FILE *);
|
|
extern int pclose(FILE *);
|
|
#ifndef MSDOS
|
|
! extern int fputs(char *, FILE *);
|
|
#endif
|
|
extern void abort();
|
|
extern int isatty(int);
|
|
extern void exit(int);
|
|
extern int system(char *);
|
|
extern int sscanf(/* char *, char *, ... */);
|
|
|
|
extern double atof(char *);
|
|
extern int fstat(int, struct stat *);
|
|
--- 80,104 ----
|
|
extern char *memset(char *, int, int);
|
|
|
|
/* extern int fprintf(FILE *, char *, ...); */
|
|
! /* extern int fprintf(); XXXL */
|
|
extern int vfprintf();
|
|
#ifndef MSDOS
|
|
! /* extern int fwrite(char *, int, int, FILE *); XXXL */
|
|
#endif
|
|
extern int fflush(FILE *);
|
|
extern int fclose(FILE *);
|
|
extern int pclose(FILE *);
|
|
#ifndef MSDOS
|
|
! /* extern int fputs(char *, FILE *); XXXL */
|
|
#endif
|
|
extern void abort();
|
|
extern int isatty(int);
|
|
extern void exit(int);
|
|
extern int system(char *);
|
|
+ #if 0
|
|
+ /* XXXL */
|
|
extern int sscanf(/* char *, char *, ... */);
|
|
+ #endif
|
|
|
|
extern double atof(char *);
|
|
extern int fstat(int, struct stat *);
|
|
***************
|
|
*** 100,110 ****
|
|
extern off_t lseek(int, off_t, int);
|
|
extern int fseek(FILE *, long, int);
|
|
extern int close(int);
|
|
! extern int open();
|
|
extern int pipe(int *);
|
|
extern int dup2(int, int);
|
|
#ifndef MSDOS
|
|
! extern int unlink(char *);
|
|
#endif
|
|
extern int fork();
|
|
extern int execl(/* char *, char *, ... */);
|
|
--- 105,115 ----
|
|
extern off_t lseek(int, off_t, int);
|
|
extern int fseek(FILE *, long, int);
|
|
extern int close(int);
|
|
! /* extern int open(); XXXL */
|
|
extern int pipe(int *);
|
|
extern int dup2(int, int);
|
|
#ifndef MSDOS
|
|
! /* extern int unlink(char *); XXXL */
|
|
#endif
|
|
extern int fork();
|
|
extern int execl(/* char *, char *, ... */);
|
|
*** 1.1 1991/12/11 16:29:17
|
|
--- awk.y 1991/12/11 17:08:04
|
|
***************
|
|
*** 96,102 ****
|
|
|
|
%type <sval> func_name
|
|
%token <sval> FUNC_CALL NAME REGEXP
|
|
! %token <lval> ERROR
|
|
%token <nodeval> NUMBER YSTRING
|
|
%token <nodetypeval> RELOP APPEND_OP
|
|
%token <nodetypeval> ASSIGNOP MATCHOP NEWLINE CONCAT_OP
|
|
--- 96,102 ----
|
|
|
|
%type <sval> func_name
|
|
%token <sval> FUNC_CALL NAME REGEXP
|
|
! %token <lval> ERROR_TOK
|
|
%token <nodeval> NUMBER YSTRING
|
|
%token <nodetypeval> RELOP APPEND_OP
|
|
%token <nodetypeval> ASSIGNOP MATCHOP NEWLINE CONCAT_OP
|
|
***************
|
|
*** 386,401 ****
|
|
|
|
nls
|
|
: NEWLINE
|
|
! { $<nodetypeval>$ = NULL; }
|
|
| nls NEWLINE
|
|
! { $<nodetypeval>$ = NULL; }
|
|
;
|
|
|
|
opt_nls
|
|
: /* empty */
|
|
! { $<nodetypeval>$ = NULL; }
|
|
| nls
|
|
! { $<nodetypeval>$ = NULL; }
|
|
;
|
|
|
|
input_redir
|
|
--- 386,401 ----
|
|
|
|
nls
|
|
: NEWLINE
|
|
! { $<nodetypeval>$ = (NODETYPE) NULL; }
|
|
| nls NEWLINE
|
|
! { $<nodetypeval>$ = (NODETYPE) NULL; }
|
|
;
|
|
|
|
opt_nls
|
|
: /* empty */
|
|
! { $<nodetypeval>$ = (NODETYPE) NULL; }
|
|
| nls
|
|
! { $<nodetypeval>$ = (NODETYPE) NULL; }
|
|
;
|
|
|
|
input_redir
|
|
***************
|
|
*** 953,959 ****
|
|
case '\\':
|
|
if (*lexptr++ == '\0') {
|
|
yyerror("unterminated regexp ends with \\");
|
|
! return ERROR;
|
|
} else if (lexptr[-1] == '\n')
|
|
goto retry;
|
|
break;
|
|
--- 953,959 ----
|
|
case '\\':
|
|
if (*lexptr++ == '\0') {
|
|
yyerror("unterminated regexp ends with \\");
|
|
! return ERROR_TOK;
|
|
} else if (lexptr[-1] == '\n')
|
|
goto retry;
|
|
break;
|
|
***************
|
|
*** 969,975 ****
|
|
case '\0':
|
|
lexptr--; /* so error messages work */
|
|
yyerror("unterminated regexp");
|
|
! return ERROR;
|
|
}
|
|
}
|
|
}
|
|
--- 969,975 ----
|
|
case '\0':
|
|
lexptr--; /* so error messages work */
|
|
yyerror("unterminated regexp");
|
|
! return ERROR_TOK;
|
|
}
|
|
}
|
|
}
|
|
***************
|
|
*** 1163,1169 ****
|
|
case '\n':
|
|
lexptr--;
|
|
yyerror("unterminated string");
|
|
! return ERROR;
|
|
case '"':
|
|
yylval.nodeval = make_str_node(tokstart + 1,
|
|
lexptr-tokstart-2, esc_seen);
|
|
--- 1163,1169 ----
|
|
case '\n':
|
|
lexptr--;
|
|
yyerror("unterminated string");
|
|
! return ERROR_TOK;
|
|
case '"':
|
|
yylval.nodeval = make_str_node(tokstart + 1,
|
|
lexptr-tokstart-2, esc_seen);
|
|
***************
|
|
*** 1171,1177 ****
|
|
return YSTRING;
|
|
}
|
|
}
|
|
! return ERROR;
|
|
|
|
case '-':
|
|
if (*lexptr == '=') {
|
|
--- 1171,1177 ----
|
|
return YSTRING;
|
|
}
|
|
}
|
|
! return ERROR_TOK;
|
|
|
|
case '-':
|
|
if (*lexptr == '=') {
|
|
***************
|
|
*** 1256,1262 ****
|
|
}
|
|
return LEX_AND;
|
|
}
|
|
! return ERROR;
|
|
|
|
case '|':
|
|
if (*lexptr == '|') {
|
|
--- 1256,1262 ----
|
|
}
|
|
return LEX_AND;
|
|
}
|
|
! return ERROR_TOK;
|
|
|
|
case '|':
|
|
if (*lexptr == '|') {
|
|
***************
|
|
*** 1279,1285 ****
|
|
|
|
if (c != '_' && ! isalpha(c)) {
|
|
yyerror("Invalid char '%c' in expression\n", c);
|
|
! return ERROR;
|
|
}
|
|
|
|
/* it's some type of name-type-thing. Find its length */
|
|
--- 1279,1285 ----
|
|
|
|
if (c != '_' && ! isalpha(c)) {
|
|
yyerror("Invalid char '%c' in expression\n", c);
|
|
! return ERROR_TOK;
|
|
}
|
|
|
|
/* it's some type of name-type-thing. Find its length */
|