aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/bootstrap/Makefile34
-rw-r--r--src/backend/bootstrap/bootparse.y6
-rw-r--r--src/backend/bootstrap/bootscanner.l3
-rw-r--r--src/backend/bootstrap/bootstrap.c9
-rw-r--r--src/backend/utils/misc/Makefile6
-rw-r--r--src/backend/utils/misc/guc-file.l3
-rw-r--r--src/include/bootstrap/bootstrap.h8
-rw-r--r--src/pl/plpgsql/src/Makefile15
-rw-r--r--src/pl/plpgsql/src/gram.y7
-rw-r--r--src/pl/plpgsql/src/pl_comp.c8
-rw-r--r--src/pl/plpgsql/src/plpgsql.h4
-rw-r--r--src/pl/plpgsql/src/scan.l3
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