source: appendixa/bison-desc.xml@ 4ad61b4

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 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 4ad61b4 was 8fcc2c0, checked in by Gerard Beekmans <gerard@…>, 22 years ago

Changed package contents and dependencies titles...hopefully people now will get the hint that an old version isn't perse a bug

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

  • Property mode set to 100644
File size: 2.0 KB
Line 
1<sect2><title>Contents of Bison</title>
2
3<para>Last checked against version &bison-contversion;.</para>
4
5<sect3><title>Program Files</title>
6
7<para>bison and yacc</para></sect3>
8
9<sect3><title>Descriptions</title>
10
11<sect4><title>bison</title>
12
13<para>bison 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 analyzes the structure of a text file. Instead of
16writing the actual program a user specifies how things should be connected
17and with those rules a program is constructed that analyzes the
18text file. There are a lot of examples where structure is needed and
19one of them is the calculator.</para>
20
21<para>Given the string :</para>
22
23<blockquote><literallayout> 1 + 2 * 3</literallayout></blockquote>
24
25<para>A human can easily come to the result 7. Why? Because of the structure.
26Our brain knows
27how to interpret the string. The computer doesn't know that and bison is a
28tool to help it understand by presenting the string in the following way
29to the compiler:</para>
30
31<blockquote><literallayout> +
32 / \
33 * 1
34 / \
35 2 3</literallayout></blockquote>
36
37<para>Starting at the bottom of a tree and coming across the numbers 2 and
383 which are joined by the multiplication symbol, the computer
39multiplies 2 and 3. The result of that multiplication is remembered and
40the next thing that the computer sees is the result of 2*3 and the
41number 1 which are joined by the add symbol. Adding 1 to the previous
42result makes 7. In calculating the most complex calculations can be
43broken down in this tree format and the computer just starts at the
44bottom and works its way up to the top and comes with the correct
45answer. Of course, bison isn't only used for calculators
46alone.</para></sect4>
47
48<sect4><title>yacc</title>
49
50<para>We create a bash script called yacc which calls bison using the -y
51option. This is for compatibility purposes for programs which use yacc
52instead of bison.</para></sect4>
53
54</sect3>
55
56</sect2>
57
Note: See TracBrowser for help on using the repository browser.