echo "};" >> exop.h
exparse.c: y.tab.c
- @SED@ "s/yy/ex/g" <y.tab.c | \
- @SED@ "s/YY/EX/g" | \
- @SED@ "s/fprintf/sfprintf/g" | \
+ @SED@ "s/fprintf/sfprintf/g" <y.tab.c | \
@SED@ "s/FILE/Sfio_t/g" | \
@SED@ "s/stderr/sfstderr/g" > exparse.c
exparse.h: y.tab.h
echo "#ifndef _EXPARSE_H" > exparse.h
echo "#define _EXPARSE_H" >> exparse.h
- @SED@ "s/yy/ex/g" < y.tab.h | \
- @SED@ "s/YY/EX/g" >> exparse.h
+ cat y.tab.h >> exparse.h
echo "#endif /* _EXPARSE_H */" >> exparse.h
y.tab.c y.tab.h: y.output
%require "3.0"
+ /* By default, Bison emits a parser using symbols prefixed with "yy". Graphviz
+ * contains multiple Bison-generated parsers, so we alter this prefix to avoid
+ * symbol clashes.
+ */
+%define api.prefix {ex}
+
%{
/*
<Lib />
<PreBuildEvent>
<Command>win_bison -Wno-yacc -dy exparse.y -o exparse-intermediate.c
-sed "s/yy/ex/g" < exparse-intermediate.c | sed "s/YY/EX/g" > exparse.c
-sed "s/yy/ex/g" < exparse-intermediate.h | sed "s/YY/EX/g" > exparse.h
+copy exparse-intermediate.c exparse.c
+copy exparse-intermediate.h exparse.h
del exparse-intermediate.c
del exparse-intermediate.h</Command>
</PreBuildEvent>
<Lib />
<PreBuildEvent>
<Command>win_bison -Wno-yacc -dy exparse.y -o exparse-intermediate.c
-sed "s/yy/ex/g" < exparse-intermediate.c | sed "s/YY/EX/g" > exparse.c
-sed "s/yy/ex/g" < exparse-intermediate.h | sed "s/YY/EX/g" > exparse.h
+copy exparse-intermediate.c exparse.c
+copy exparse-intermediate.h exparse.h
del exparse-intermediate.c
del exparse-intermediate.h</Command>
</PreBuildEvent>