aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/bison-inst.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter06/bison-inst.xml')
-rw-r--r--chapter06/bison-inst.xml45
1 files changed, 45 insertions, 0 deletions
diff --git a/chapter06/bison-inst.xml b/chapter06/bison-inst.xml
new file mode 100644
index 000000000..6d44ec182
--- /dev/null
+++ b/chapter06/bison-inst.xml
@@ -0,0 +1,45 @@
+<sect2>
+<title>Installation of Bison</title>
+
+<para>
+Install Bison by running the following commands:
+</para>
+
+<blockquote><literallayout>
+
+ <userinput>./configure --prefix=/usr \</userinput>
+ <userinput>&nbsp;&nbsp;&nbsp;--datadir=/usr/share/bison
+ &amp;&amp;</userinput>
+ <userinput>make &amp;&amp;</userinput>
+ <userinput>make install</userinput>
+
+</literallayout></blockquote>
+
+<para>
+Some programs don't know about bison and try to find the yacc program
+(bison is a (better) alternative for yacc). So to please those few
+programs out there we'll create a yacc script that calls bison and have
+it emulate yacc's output file name conventions).
+</para>
+
+<para>
+Create a new file <filename>/usr/bin/yacc</filename> by running the
+following:
+</para>
+
+<literallayout>
+
+<userinput>cat &gt; /usr/bin/yacc &lt;&lt; "EOF"</userinput>
+#!/bin/sh
+# Begin /usr/bin/yacc
+
+/usr/bin/bison -y "$@"
+
+# End /usr/bin/yacc
+<userinput>EOF</userinput>
+<userinput>chmod 755 /usr/bin/yacc</userinput>
+
+</literallayout>
+
+</sect2>
+