Установка Bison-1.35

We use cookies. Read the Privacy and Cookie Policy

Установка Bison-1.35

Приблизительное время компиляции: 0.27 SBU Необходимое дисковое пространство: 6 MB

Инсталляция Bison

Для инсталляции Bison выполните:

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

Некоторые программы не знают о существовании bison и пытаются найти программу yacc (bison – альтернатива (предпочтительная) команде yacc). Итак, для устранения возможных проблем, создадим скрипт bash под названием 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

Последняя проверка: версия 1.35.

Программы

bison и yacc

Описания

bison

bison – генератор анализаторов синтаксиса (parser) выражений (заменяет yacc – Yet Another Compiler Compiler). Что же делает bison? Это программа, генерирующая программу, анализирующую структуру текстового файла. Вместо написания собственной программы пользователь указывает, как соотносятся объекты, и основываясь на данных правилах, создается анализатор. Существует множество примеров анализа синтаксиса, например калькулятор.

Дано выражение:

1 + 2 * 3

Человек легко получит результат 7. Почему? Because of the structure. Наш мозг знает, как интерпретировать выражение. Компьютер этого не знает, и bison инструмент, представляющий выражение компьютеру в следующем виде:

+ / * 1 / 2 3

Начиная с вершины дерева и обрабатывая 2 and 3, соединенных знаком умножения, компьютер перемножает 2 и 3. Результат умножения запоминается и следующее, что обрабатывается – 2*3 и 1, соединенные знаком сложения. Сложение 1 и предыдущего результата дает 7. Все составные выражения могут быть преобразованы в подобное дерево и вычислены. Конечно же, bison используется не только в калькуляторах.

yacc

Мы написали скрипт bash с именем yacc, вызывающий bison с опцией -y. Это необходимо для совместимости с программами, использующими yacc вместо bison.

Зависимости Bison

Последняя проверка: версия 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