aboutsummaryrefslogtreecommitdiffstats
path: root/appendixa/bison-desc.xml
diff options
context:
space:
mode:
authorGerard Beekmans <gerard@linuxfromscratch.org>2001-02-15 15:26:52 +0000
committerGerard Beekmans <gerard@linuxfromscratch.org>2001-02-15 15:26:52 +0000
commitb08f4096533577934b885fa9df41d3881d141612 (patch)
tree8e5ffc0ba65ac34d97cd6a896d33b85a897a6da8 /appendixa/bison-desc.xml
parentad08014624938a3a3bfd1b44e8b27d02c7b06dd8 (diff)
Initial XML commit
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@174 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'appendixa/bison-desc.xml')
-rw-r--r--appendixa/bison-desc.xml67
1 files changed, 67 insertions, 0 deletions
diff --git a/appendixa/bison-desc.xml b/appendixa/bison-desc.xml
new file mode 100644
index 000000000..7e3fff7e9
--- /dev/null
+++ b/appendixa/bison-desc.xml
@@ -0,0 +1,67 @@
+<sect2>
+<title>Contents</title>
+
+<para>
+The Bison package contains the bison program.
+</para>
+
+</sect2>
+
+<sect2><title>Description</title>
+
+<para>
+Bison is a parser generator, a replacement for YACC. YACC stands for Yet
+Another Compiler Compiler. What is Bison then? It is a program that
+generates a program that analyses the structure of a textfile. Instead
+of
+writing the actual program you specify how things should be connected
+and with
+those rules a program is constructed that analyses the textfile.
+</para>
+
+<para>
+There are alot of examples where structure is needed and one of them is
+the
+calculator.
+</para>
+
+<para>
+Given the string :
+</para>
+
+<blockquote><literallayout>
+ 1 + 2 * 3
+</literallayout></blockquote>
+
+<para>
+You can easily come to the result 7. Why ? Because of the structure. You
+know
+how to interpretet the string. The computer doesn't know that and Bison
+is a
+tool to help it understand by presenting the string in the following way
+to the compiler:
+</para>
+
+<blockquote><literallayout>
+
+ +
+ / \
+ * 1
+ / \
+ 2 3
+</literallayout></blockquote>
+
+<para>
+You start at the bottom of a tree and you come across the numbers 2 and
+3 which are joined by the multiplication symbol, so the computers
+multiplies 2 and 3. The result of that multiplication is remembered and
+the next thing that the computer sees is the result of 2*3 and the
+number 1 which are joined by the add symbol. Adding 1 to the previous
+result makes 7. In calculating the most complex calculations can be
+broken down in this tree format and the computer just starts at the
+bottom and works it's way up to the top and comes with the correct
+answer. Of course, Bison isn't only used for calculators alone.
+</para>
+
+</sect2>
+