diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/bootstrap/Makefile | 34 | ||||
-rw-r--r-- | src/backend/bootstrap/bootparse.y | 6 | ||||
-rw-r--r-- | src/backend/bootstrap/bootscanner.l | 3 | ||||
-rw-r--r-- | src/backend/bootstrap/bootstrap.c | 9 | ||||
-rw-r--r-- | src/backend/utils/misc/Makefile | 6 | ||||
-rw-r--r-- | src/backend/utils/misc/guc-file.l | 3 | ||||
-rw-r--r-- | src/include/bootstrap/bootstrap.h | 8 | ||||
-rw-r--r-- | src/pl/plpgsql/src/Makefile | 15 | ||||
-rw-r--r-- | src/pl/plpgsql/src/gram.y | 7 | ||||
-rw-r--r-- | src/pl/plpgsql/src/pl_comp.c | 8 | ||||
-rw-r--r-- | src/pl/plpgsql/src/plpgsql.h | 4 | ||||
-rw-r--r-- | src/pl/plpgsql/src/scan.l | 3 |
12 files changed, 49 insertions, 57 deletions
diff --git a/src/backend/bootstrap/Makefile b/src/backend/bootstrap/Makefile index ccc6abe6702..ed73205fd3b 100644 --- a/src/backend/bootstrap/Makefile +++ b/src/backend/bootstrap/Makefile @@ -2,7 +2,7 @@ # # Makefile for the bootstrap module # -# $PostgreSQL: pgsql/src/backend/bootstrap/Makefile,v 1.33 2006/01/05 01:56:29 momjian Exp $ +# $PostgreSQL: pgsql/src/backend/bootstrap/Makefile,v 1.34 2006/03/07 01:03:12 tgl Exp $ # #------------------------------------------------------------------------- @@ -20,43 +20,37 @@ SUBSYS.o: $(OBJS) $(LD) $(LDREL) $(LDOUT) $@ $^ -bootstrap.o bootparse.o: $(srcdir)/bootstrap_tokens.h - # bootscanner is compiled as part of bootparse bootparse.o: $(srcdir)/bootscanner.c -# `sed' rules to remove conflicts between bootstrap scanner and parser -# and the SQL scanner and parser. For correctness' sake the rules that -# use this must depend on this Makefile. -define sed-magic -sed -e 's/^yy/Int_yy/g' \ - -e 's/\([^a-zA-Z0-9_]\)yy/\1Int_yy/g' -endef - +# See notes in src/backend/parser/Makefile about the following two rules $(srcdir)/bootparse.c: $(srcdir)/bootstrap_tokens.h ; -$(srcdir)/bootstrap_tokens.h: bootparse.y Makefile +$(srcdir)/bootstrap_tokens.h: bootparse.y ifdef YACC $(YACC) -d $(YFLAGS) $< - $(sed-magic) < y.tab.c > $(srcdir)/bootparse.c - $(sed-magic) < y.tab.h > $(srcdir)/bootstrap_tokens.h - rm -f y.tab.c y.tab.h + mv -f y.tab.c $(srcdir)/bootparse.c + mv -f y.tab.h $(srcdir)/bootstrap_tokens.h else @$(missing) bison $< $@ endif -$(srcdir)/bootscanner.c: bootscanner.l Makefile +$(srcdir)/bootscanner.c: bootscanner.l ifdef FLEX - $(FLEX) $(FLEXFLAGS) $< - $(sed-magic) lex.yy.c > $@ - rm -f lex.yy.c + $(FLEX) $(FLEXFLAGS) -o'$@' $< else @$(missing) flex $< $@ endif +# Force these dependencies to be known even without dependency info built: +bootstrap.o bootparse.o: $(srcdir)/bootstrap_tokens.h + + +# bootparse.c, bootstrap_tokens.h, and bootscanner.c are in the distribution +# tarball, so they are not cleaned here. clean: - rm -f SUBSYS.o $(OBJS) bootstrap.o + rm -f SUBSYS.o $(OBJS) # And the garbage that might have been left behind by partial build: @rm -f y.tab.h y.tab.c y.output lex.yy.c diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y index b1a985adba2..8b8645bd600 100644 --- a/src/backend/bootstrap/bootparse.y +++ b/src/backend/bootstrap/bootparse.y @@ -2,14 +2,14 @@ /*------------------------------------------------------------------------- * * bootparse.y - * yacc parser grammar for the "backend" initialization program. + * yacc grammar for the "bootstrap" mode (BKI file format) * * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/bootstrap/bootparse.y,v 1.79 2006/03/05 15:58:22 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/bootstrap/bootparse.y,v 1.80 2006/03/07 01:03:12 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -79,6 +79,8 @@ int num_columns_read = 0; %} +%name-prefix="boot_yy" + %union { List *list; diff --git a/src/backend/bootstrap/bootscanner.l b/src/backend/bootstrap/bootscanner.l index f65d8ac3eac..f75d79a8d02 100644 --- a/src/backend/bootstrap/bootscanner.l +++ b/src/backend/bootstrap/bootscanner.l @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/bootstrap/bootscanner.l,v 1.41 2006/03/05 15:58:22 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/bootstrap/bootscanner.l,v 1.42 2006/03/07 01:03:12 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -54,6 +54,7 @@ static int yyline = 1; /* line number for error reporting */ %option nodefault %option nounput %option noyywrap +%option prefix="boot_yy" D [0-9] diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c index f0138c0bfc3..1d48fc44e18 100644 --- a/src/backend/bootstrap/bootstrap.c +++ b/src/backend/bootstrap/bootstrap.c @@ -8,7 +8,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.212 2006/03/05 15:58:22 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.213 2006/03/07 01:03:12 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -53,8 +53,6 @@ extern char *optarg; #define ALLOC(t, c) ((t *) calloc((unsigned)(c), sizeof(t))) -extern int Int_yyparse(void); - static void usage(void); static void bootstrap_signals(void); static hashnode *AddStr(char *str, int strlength, int mderef); @@ -468,11 +466,8 @@ BootstrapMain(int argc, char *argv[]) /* * Process bootstrap input. - * - * the sed script boot.sed renamed yyparse to Int_yyparse for the - * bootstrap parser to avoid conflicts with the normal SQL parser */ - Int_yyparse(); + boot_yyparse(); /* Perform a checkpoint to ensure everything's down to disk */ SetProcessingMode(NormalProcessing); diff --git a/src/backend/utils/misc/Makefile b/src/backend/utils/misc/Makefile index 5153366b281..5a37d7790b3 100644 --- a/src/backend/utils/misc/Makefile +++ b/src/backend/utils/misc/Makefile @@ -4,7 +4,7 @@ # Makefile for utils/misc # # IDENTIFICATION -# $PostgreSQL: pgsql/src/backend/utils/misc/Makefile,v 1.24 2005/10/03 22:52:23 tgl Exp $ +# $PostgreSQL: pgsql/src/backend/utils/misc/Makefile,v 1.25 2006/03/07 01:03:12 tgl Exp $ # #------------------------------------------------------------------------- @@ -33,9 +33,7 @@ guc.o: $(srcdir)/guc-file.c $(srcdir)/guc-file.c: guc-file.l ifdef FLEX - $(FLEX) $(FLEXFLAGS) $< - sed -e 's/^yy/GUC_yy/g' -e 's/\([^a-zA-Z0-9_]\)yy/\1GUC_yy/g' lex.yy.c > $@ - rm -f lex.yy.c + $(FLEX) $(FLEXFLAGS) -o'$@' $< else @$(missing) flex $< $@ endif diff --git a/src/backend/utils/misc/guc-file.l b/src/backend/utils/misc/guc-file.l index b061935aec6..dd59d5f99b2 100644 --- a/src/backend/utils/misc/guc-file.l +++ b/src/backend/utils/misc/guc-file.l @@ -4,7 +4,7 @@ * * Copyright (c) 2000-2006, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/backend/utils/misc/guc-file.l,v 1.36 2006/03/05 15:58:49 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/misc/guc-file.l,v 1.37 2006/03/07 01:03:12 tgl Exp $ */ %{ @@ -61,6 +61,7 @@ static char *GUC_scanstr(const char *s); %option nodefault %option nounput %option noyywrap +%option prefix="GUC_yy" SIGN ("-"|"+") diff --git a/src/include/bootstrap/bootstrap.h b/src/include/bootstrap/bootstrap.h index a8d4a2e0631..ae5b3d325d8 100644 --- a/src/include/bootstrap/bootstrap.h +++ b/src/include/bootstrap/bootstrap.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/include/bootstrap/bootstrap.h,v 1.40 2006/03/05 15:58:54 momjian Exp $ + * $PostgreSQL: pgsql/src/include/bootstrap/bootstrap.h,v 1.41 2006/03/07 01:03:12 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -52,8 +52,10 @@ extern char *CleanUpStr(char *s); extern int EnterString(char *str); extern void build_indices(void); -extern int Int_yylex(void); -extern void Int_yyerror(const char *str); +extern int boot_yyparse(void); + +extern int boot_yylex(void); +extern void boot_yyerror(const char *str); #define BS_XLOG_NOP 0 #define BS_XLOG_BOOTSTRAP 1 diff --git a/src/pl/plpgsql/src/Makefile b/src/pl/plpgsql/src/Makefile index 6288a88097f..b0a9649be53 100644 --- a/src/pl/plpgsql/src/Makefile +++ b/src/pl/plpgsql/src/Makefile @@ -2,7 +2,7 @@ # # Makefile for the plpgsql shared object # -# $PostgreSQL: pgsql/src/pl/plpgsql/src/Makefile,v 1.28 2006/01/05 01:56:30 momjian Exp $ +# $PostgreSQL: pgsql/src/pl/plpgsql/src/Makefile,v 1.29 2006/03/07 01:03:12 tgl Exp $ # #------------------------------------------------------------------------- @@ -48,29 +48,28 @@ installdirs: uninstall: rm -f '$(DESTDIR)$(pkglibdir)/plpgsql$(DLSUFFIX)' +# Force these dependencies to be known even without dependency info built: pl_gram.o pl_handler.o pl_comp.o pl_exec.o pl_funcs.o: plpgsql.h $(srcdir)/pl.tab.h # pl_scan is compiled as part of pl_gram pl_gram.o: $(srcdir)/pl_scan.c -# Note: Since the yacc and lex files are shipped in the distribution, -# they must be generated in the srcdir (as opposed to builddir). +# See notes in src/backend/parser/Makefile about the following two rules $(srcdir)/pl_gram.c: $(srcdir)/pl.tab.h ; $(srcdir)/pl.tab.h: gram.y ifdef YACC $(YACC) -d $(YFLAGS) $< - sed -e 's/yy/plpgsql_yy/g' -e 's/YY/PLPGSQL_YY/g' < y.tab.c > $(srcdir)/pl_gram.c - sed -e 's/yy/plpgsql_yy/g' -e 's/YY/PLPGSQL_YY/g' < y.tab.h > $(srcdir)/pl.tab.h - rm -f y.tab.c y.tab.h + mv -f y.tab.c $(srcdir)/pl_gram.c + mv -f y.tab.h $(srcdir)/pl.tab.h else @$(missing) bison $< $@ endif $(srcdir)/pl_scan.c: scan.l ifdef FLEX - $(FLEX) $(FLEXFLAGS) -Pplpgsql_base_yy -o'$@' $< + $(FLEX) $(FLEXFLAGS) -o'$@' $< else @$(missing) flex $< $@ endif @@ -82,7 +81,7 @@ distprep: $(srcdir)/pl_scan.c $(srcdir)/pl.tab.h $(srcdir)/pl_gram.c clean distclean: clean-lib rm -f $(OBJS) # And the garbage that might have been left behind by partial build: - @rm -f y.tab.c y.tab.h lex.yy.c + @rm -f y.tab.h y.tab.c y.output lex.yy.c maintainer-clean: clean rm -f $(srcdir)/pl_gram.c $(srcdir)/pl.tab.h $(srcdir)/pl_scan.c diff --git a/src/pl/plpgsql/src/gram.y b/src/pl/plpgsql/src/gram.y index 0dcafb46bac..c92438d9b46 100644 --- a/src/pl/plpgsql/src/gram.y +++ b/src/pl/plpgsql/src/gram.y @@ -4,7 +4,7 @@ * procedural language * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpgsql/src/gram.y,v 1.85 2006/02/12 06:37:05 tgl Exp $ + * $PostgreSQL: pgsql/src/pl/plpgsql/src/gram.y,v 1.86 2006/03/07 01:03:12 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -64,6 +64,8 @@ static void check_labels(const char *start_label, %} +%name-prefix="plpgsql_yy" + %union { int32 ival; bool boolean; @@ -2363,4 +2365,7 @@ check_labels(const char *start_label, const char *end_label) } } +/* Needed to avoid conflict between different prefix settings: */ +#undef yylex + #include "pl_scan.c" diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c index d9fa1f0e422..932c70d51fe 100644 --- a/src/pl/plpgsql/src/pl_comp.c +++ b/src/pl/plpgsql/src/pl_comp.c @@ -3,7 +3,7 @@ * procedural language * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.98 2005/12/28 18:11:25 tgl Exp $ + * $PostgreSQL: pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.99 2006/03/07 01:03:12 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -61,12 +61,6 @@ /* ---------- - * Variables in the parser that shouldn't go into plpgsql.h - * ---------- - */ -extern PLPGSQL_YYSTYPE plpgsql_yylval; - -/* ---------- * Our own local and global variables * ---------- */ diff --git a/src/pl/plpgsql/src/plpgsql.h b/src/pl/plpgsql/src/plpgsql.h index ab235c7217f..3c304fd05a9 100644 --- a/src/pl/plpgsql/src/plpgsql.h +++ b/src/pl/plpgsql/src/plpgsql.h @@ -3,7 +3,7 @@ * procedural language * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpgsql/src/plpgsql.h,v 1.67 2006/03/02 05:34:12 tgl Exp $ + * $PostgreSQL: pgsql/src/pl/plpgsql/src/plpgsql.h,v 1.68 2006/03/07 01:03:12 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -656,7 +656,7 @@ extern char *plpgsql_error_funcname; /* linkage to the real yytext variable */ extern char *plpgsql_base_yytext; -#define plpgsql_yytext plpgsql_base_yytext +#define yytext plpgsql_base_yytext extern PLpgSQL_function *plpgsql_curr_compile; extern bool plpgsql_check_syntax; diff --git a/src/pl/plpgsql/src/scan.l b/src/pl/plpgsql/src/scan.l index 0a6c9be20fa..77bad8572e9 100644 --- a/src/pl/plpgsql/src/scan.l +++ b/src/pl/plpgsql/src/scan.l @@ -4,7 +4,7 @@ * procedural language * * IDENTIFICATION - * $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.43 2006/02/27 16:09:50 petere Exp $ + * $PostgreSQL: pgsql/src/pl/plpgsql/src/scan.l,v 1.44 2006/03/07 01:03:12 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -73,6 +73,7 @@ bool plpgsql_SpaceScanned = false; %option nodefault %option nounput %option noyywrap +%option prefix="plpgsql_base_yy" %option case-insensitive |