source: appendixa/bison-desc.xml@ 9aab9f5

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v3_0 v3_1 v3_2 v3_3 v4_0 v4_1 v5_0 v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since 9aab9f5 was 9aab9f5, checked in by Thomas Balu Walter <tw@…>, 23 years ago

You

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@338 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 1.7 KB
Line 
1<sect2>
2<title>Contents</title>
3
4<para>
5The Bison package contains the bison program.
6</para>
7
8</sect2>
9
10<sect2><title>Description</title>
11
12<para>
13Bison is a parser generator, a replacement for YACC. YACC stands for Yet
14Another Compiler Compiler. What is Bison then? It is a program that
15generates a program that analyses the structure of a textfile. Instead
16of
17writing the actual program a user specifies how things should be connected
18and with
19those rules a program is constructed that analyses the textfile.
20</para>
21
22<para>
23There are alot of examples where structure is needed and one of them is
24the
25calculator.
26</para>
27
28<para>
29Given the string :
30</para>
31
32<blockquote><literallayout>
33 1 + 2 * 3
34</literallayout></blockquote>
35
36<para>
37A human can easily come to the result 7. Why? Because of the structure.
38Our brain knows
39how to interpretet the string. The computer doesn't know that and Bison
40is a
41tool to help it understand by presenting the string in the following way
42to the compiler:
43</para>
44
45<blockquote><literallayout>
46
47 +
48 / \
49 * 1
50 / \
51 2 3
52</literallayout></blockquote>
53
54<para>
55Starting at the bottom of a tree and coming across the numbers 2 and
563 which are joined by the multiplication symbol, the computer
57multiplies 2 and 3. The result of that multiplication is remembered and
58the next thing that the computer sees is the result of 2*3 and the
59number 1 which are joined by the add symbol. Adding 1 to the previous
60result makes 7. In calculating the most complex calculations can be
61broken down in this tree format and the computer just starts at the
62bottom and works it's way up to the top and comes with the correct
63answer. Of course, Bison isn't only used for calculators alone.
64</para>
65
66</sect2>
67
Note: See TracBrowser for help on using the repository browser.