安装 Bison-1.75

估计编译时间:		0.27 SBU
估计所需硬盘空间:     6 MB

安装 Bison

命令如下:

./configure --prefix=/usr &&
make &&
make install

一些程序并不知道bison而是试图寻找yacc程序(事实上,bison是实现yacc功能的另一种也是更好的选择)。为了满足少数一些程序的需要,我们将创建一个yacc脚本,这个脚本调用bison并通过它来模仿yacc的输出文件命名惯例。

通过下面的命令创建一个新文件/usr/bin/yacc

cat > /usr/bin/yacc << "EOF"
#!/bin/sh
# Begin /usr/bin/yacc

exec /usr/bin/bison -y "$@"

# End /usr/bin/yacc
EOF
chmod 755 /usr/bin/yacc

Bison的内容

最后检查于 version 1.35.

包含的程序

bison 和 yacc

具体说明

bison

bison 是替代yacc的语法分析程序生成器. yacc是 Yet Another Compiler Compiler的缩写. bison又是什么呐 是一个生成可以分析文本文件结构的程序的程序. 用户不用直接编写程序而只用确定好如何分析这些文本文件的规则就可以了. 这种文本结构应用的例子举不胜举, 其中一个就是计算器(calculator).

给定一个字符串:

        1 + 2 * 3

人可以马上计算出结果是7。为什么呢?因为结构。我们的大脑知道如何解释这个字符串。但是,计算机并不知道,Bison就是一个通过将这个字串用如下方法提供给编译器以帮助计算机理解工具:

            +
           / \
          *   1
         / \
        2   3

从数的底部开始,遇到数2和3,它们通过乘法符号连接在一起,于是计算机将2和3进行乘积运算。计算结果暂时存储起来,然后计算机发现2*3的结果与数1通过加法符号连接在一起。将前面的结果再加1就得到了7。在计算过程中,无论多复杂的计算也都能够分解成树形结构,计算机只需要从底层开始,一级一级地向上计算,直到计算到最顶层就可以得到正确的答案。当然,Bison并不仅仅用于计算器。

yacc

yacc是一个bash脚本, 加上-y的参数可以调出bison. 这个是为了和那些用yacc而不是bison的程序兼容.

安装Bison依赖于

最后检查于 version 1.31.

Bash: sh
Binutils: ar, as, ld, ranlib
Diffutils: cmp
Fileutils: chmod, cp, install, ln, ls, mkdir, mv, rm, rmdir
Gcc: cc, cc1, collect2, cpp0, gcc
Grep: egrep, fgrep, grep
Make: make
Sed: sed
Sh-utils: basename, dirname, echo, expr, hostname, sleep, uname
Texinfo: install-info
Textutils: cat, head, tr, uniq