Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Linux From ScratchΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 17

Автор Gerard Beekmans

toe

toe пСрСчисляСт всС доступныС Ρ‚ΠΈΠΏΡ‹ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠ² ΠΏΠΎ основному ΠΈΠΌΠ΅Π½ΠΈ вмСстС с описаниями.

tput

tput ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±Π°Π·Ρƒ terminfo, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ доступной ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΌΡƒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», Π»ΠΈΠ±ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя Π·Π°ΠΏΡ€ΠΎΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

tset

tset ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Ρ‹, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡˆΠΈΡ€ΠΎΠΊΠΎ. НСобходимо для совмСстимости с 4.4BSD.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

libcurses.[a,so] (ссылка Π½Π° libncurses.[a,so]), libform.[a,so], libform_g.a, libmenu.[a,so], libmenu_g.a, libncurses++.a, libncurses.[a,so], libncurses_g.a, libpanel.[a,so] ΠΈ libpanel_g.a

libcurses, libncurses++, libncurses, libncurses_g

Π­Ρ‚ΠΎ – основныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для отобраТСния тСкста Π½Π° экранС (Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ нСстандартным способом). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ncurses – ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Β«make menuconfigΒ» сборки ядра.

libform, libform_g

libform ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌ Π² ncurses.

libmenu, libmenu_g

libmenu ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ мСню Π² ncurses.

libpanel, libpanel_g

libpanel ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ Π² ncurses.

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

ПослСдняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: вСрсия 5.2.

Bash: sh Binutils: ar, as, ld, ranlib Diffutils: cmp Fileutils: chmod, cp, install, ln, mkdir, mv, rm Gcc: c++, cc1, cc1plus, collect2, cpp0, gcc Glibc: ldconfig Grep: egrep, fgrep, grep Make: make Gawk: gawk Sed: sed Sh-utils: basename, date, echo, expr, hostname, uname Textutils: cat, sort, tr, wc

Установка Vim-6.1

ΠŸΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя компиляции: 0.81 SBU НСобходимоС дисковоС пространство: 24 MB


Π˜Π½ΡΡ‚Π°Π»Π»ΡΡ†ΠΈΡ Vim

ΠŸΠ΅Ρ€Π΅Π΄ установкой ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ‚Ρ‡. Π£Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ‚Ρ‡ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ распакованы ΠΏΠ΅Ρ€Π΅Π΄ инсталляциСй.

Если Π²Π°ΠΌ Π½Π΅ ΠΏΠΎ Π΄ΡƒΡˆΠ΅ Vim, см. инструкции ΠΏΠΎ инсталляции Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² http://beyond.linuxfromscratch.org/view/cvs/postlfs/editors.html. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΅ΡΡ‚ΡŒ инструкции для Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² Emacs, nano, ΠΈ joe.

Для установки Vim Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

patch -Np1 -i ../vim-6.1.patch && ./configure –prefix=/usr && make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\" && make install && ln -s vim /usr/bin/vi


Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ систСму X Window для LFS, Π²Π°ΠΌ понадобится ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Vim послС установки Π₯. Vim поставляСтся с GUI вСрсиСй Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π΅ΠΉ установлСнной систСмы X Window ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Для получСния ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Vim.

ПояснСния команд

patch -Np1 -i ../vim-6.1.patch: Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ‚Ρ‡ устраняСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ компиляции с GCC-3.2.

make CPPFLAGS=-DSYS_VIMRC_FILE=\\\"/etc/vimrc\\\": Π­Ρ‚Π° опция ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ vim Π±Π΅Ρ€Π΅Ρ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ настройки ΠΈΠ· Ρ„Π°ΠΉΠ»Π° /etc/vimrc. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ этот Ρ„Π°ΠΉΠ» бСрСтся ΠΈΠ· /usr/share/vim, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /etc – Π±ΠΎΠ»Π΅Π΅ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠ΅ мСсто для этого Ρ„Π°ΠΉΠ»Π°.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Vim

ПослСдняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: вСрсия 6.1.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

efm_filter.pl, efm_perl.pl, ex (ссылка Π½Π° vim), less.sh, mve.awk, pltags.pl, ref, rview (ссылка Π½Π° vim), rvim (ссылка Π½Π° vim), shtags.pl, tcltags, vi (ссылка Π½Π° vim), view (ссылка Π½Π° vim), vim, vim132, vim2html.pl, vimdiff (ссылка Π½Π° vim), vimm, vimspell.sh, vimtutor ΠΈ xxd

Описания

efm_filter.pl

efm_filter.pl – Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, Ρ‡ΠΈΡ‚Π°ΡŽΡ‰ΠΈΠΉ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°, ΠΏΠΈΡˆΡƒΡ‰ΠΈΠΉ Π½Π° стандартный Π²Ρ‹Π²ΠΎΠ΄ ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» ошибок, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ vim.

efm_perl.pl

efm_perl.pl Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Perl для использования Π² quickfix Ρ€Π΅ΠΆΠΈΠΌΠ΅ vim.

ex

ex запускаСт vim Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ex.

less.sh

less.sh – скрипт, Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ vim, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ less.vim.

mve.awk

mve.awk ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ошибки vim.

pltags.pl

pltags.pl создаСт Ρ„Π°ΠΉΠ» Ρ‚Π΅Π³ΠΎΠ² ΠΊΠΎΠ΄Π° Perl для использования vim.

ref

ref провСряСт написаниС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

rview

rview – ограничСнная вСрсия view. НСльзя ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ ΠΈ vim Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ приостановлСн.

rvim

rvim is the restricted version of vim. НСльзя ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ ΠΈ vim Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ приостановлСн.

shtags.pl

shtags.pl Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» Ρ‚Π΅Π³ΠΎΠ² для скриптов perl.

tcltags

tcltags Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ» Ρ‚Π΅Π³ΠΎΠ² ΠΊΠΎΠ΄Π° TCL.

vi

vi запускаСт vim Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ совмСстимости с vi.

view

view запускаСт vim Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Β«Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния».

vim

vim запускаСт vim Π² стандартном Ρ€Π΅ΠΆΠΈΠΌΠ΅.

vim132

vim132 запускаСт vim Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π² 132 ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.

vim2html.pl

vim2html.pl ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ vim Π² HTML.

vimdiff

vimdiff сравниваСт Π΄Π²Π΅ ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ вСрсии Ρ„Π°ΠΉΠ»Π° ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ различия.

vimm

vimm Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ модСль Π²Π²ΠΎΠ΄Π° DEC locator Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅.

vimspell.sh

vimspell.sh просматриваСт Ρ„Π°ΠΉΠ» ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ синтаксичСскиС выраТСния, выдСляСмыС Π² vim.

vimtutor

vimtutor запускаСт ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π΅ с Vim.

xxd

xxd ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π²Π²ΠΎΠ΄ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.

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

ПослСдняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: вСрсия 6.0.

Bash: sh Binutils: as, ld, strip Diffutils: cmp, diff Fileutils: chmod, cp, ln, mkdir, mv, rm, touch Find: find Gcc: cc1, collect2, cpp0, gcc Grep: egrep, grep Make: make Net-tools: hostname Sed: sed Sh-utils: echo, expr, uname, whoami Textutils: cat, tr, wc

Установка 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 Β« [email protected]Β»


# 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

Установка Less-374

ΠŸΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя компиляции: 0.13 SBU НСобходимоС дисковоС пространство: 2 MB


Π˜Π½ΡΡ‚Π°Π»Π»ΡΡ†ΠΈΡ Less

Для инсталляции Less Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

./configure –prefix=/usr –bindir=/bin –sysconfdir=/etc && make && make install


Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Less

ПослСдняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: вСрсия 374.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

less, lessecho ΠΈ lesskey

Description

less

less – тСкстовый просмотрщик. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ содСрТимоС Ρ„Π°ΠΉΠ»Π° с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ. Less – ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ more. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, Π½Π΅Ρ‚ нСобходимости ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ вСсь Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈ Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π»Π΅Π³Ρ‡Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ².

lessecho

lessecho Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для подстановок мСтасимволов, Π²Ρ€ΠΎΠ΄Π΅ * ΠΈ ?, Π² ΠΈΠΌΠ΅Π½Π°Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° систСмах Unix.

lesskey

lesskey ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для установок клавиш less.

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

ПослСдняя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°: вСрсия 358.

Bash: sh Binutils: as, ld Diffutils: cmp Fileutils: chmod, install, mv, rm, touch Grep: egrep, grep Gcc: cc1, collect2, cpp0, gcc Make: make Sed: sed Sh-utils: expr, hostname, uname Textutils: cat, tr

Установка Groff-1.18

ΠŸΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя компиляции: 1.08 SBU

НСобходимоС дисковоС пространство: 18 MB


Π˜Π½ΡΡ‚Π°Π»Π»ΡΡ†ΠΈΡ Groff

Для инсталляции Groff Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅:

./configure –prefix=/usr &&

make PROCESSEDEXAMPLEFILES="" &&

make PROCESSEDEXAMPLEFILES="" install &&

ln -s soelim /usr/bin/zsoelim &&

ln -s eqn /usr/bin/geqn &&

ln -s tbl /usr/bin/gtbl


ПояснСния команд

make PROCESSEDEXAMPLEFILES="": Π£ Groff сущСствуСт нСсколько зависимостСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ. Π­Ρ‚Π° опция ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² Π½ΠΈΡ….

ln -s ...: Π­Ρ‚ΠΈ символичСскиС ссылки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ xman ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ groff/man.

Contents of Groff

Last checked against version 1.17.2.

Program Files

addftinfo, afmtodit, eqn, geqn (link to eqn), grn, grodvi, groff, grog, grolbp, grolj4, grops, grotty, gtbl (link to tbl), hpftodit, indxbib, lkbib, lookbib, mmroff, neqn, nroff, pfbtops, pic, post-grohtml, pre-grohtml, refer, soelim, tbl, tfmtodit, troff and zsoelim (link to soelim)

Descriptions

addftinfo

addftinfo reads a troff font file and adds some additional font-metric information that is used by the groff system.

afmtodit

afmtodit creates a font file for use with groff and grops.

eqn

eqn compiles descriptions of equations embedded within troff input files into commands that are understood by troff.

geqn

geqn is the GNU implementation of eqn.

grn

grn is a groff preprocessor for gremlin files.

grodvi

grodvi is a driver for groff that produces TeX dvi format.

groff

groff is a front-end to the groff document formatting system. Normally it runs the troff program and a post-processor appropriate for the selected device.

grog

grog reads files and guesses which of the groff options -e, -man, -me, -mm, -ms, -p, -s, and -t are required for printing files, and prints the groff command including those options on the standard output.