source: appendixa/bison-desc.xml@ b7d9d404

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_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 b7d9d404 was b7d9d404, checked in by Timothy Bauscher <timothy@…>, 21 years ago

Converted m4, bison, less, groff, textutils, sed, flex, binutils, fileutils, shellutils, gettext and net-tools to new layout.

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

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