Брайан Керниган - UNIX — универсальная среда программирования
- Название:UNIX — универсальная среда программирования
- Автор:
- Жанр:
- Издательство:Финансы и статистика
- Год:1992
- Город:Москва
- ISBN:5-289-00253-4
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Брайан Керниган - UNIX — универсальная среда программирования краткое содержание
В книге американских авторов — разработчиков операционной системы UNIX — блестяще решена проблема автоматизации деятельности программиста, системной поддержки его творчества, выходящей за рамки языков программирования. Профессионалам открыт богатый "встроенный" арсенал системы UNIX. Многочисленными примерами иллюстрировано использование языка управления заданиями shell.
Для программистов-пользователей операционной системы UNIX.
UNIX — универсальная среда программирования - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Hoc - диалоговый язык для арифметики с плавающей точкой
.AU
Брайан Керниган
Роб Пайк
.AB
.I Hoc
это простой программируемый интерпретатор
для выражений с плавающей точкой.
Он обеспечивает поток управления в стиле Си,
определения функций и обычные
числовые встроенные функции,
такие как косинус и логарифм.
.AE
.NH
Выражения
.PP
.I Hoc
Это язык выражений, во многом подобный Си:
хотя он содержит несколько управляющих операторов,
большинство операторов, таких как присваивания,
это выражения, чьи значения не принимаются
во внимание.
...
Команда .I
выделяет свой аргумент курсивом или переключает шрифт на курсив, если аргумента нет.
При использовании пакета макроопределений он специфицируется как аргумент troff
:
$ troff -ms hoc.ms
Символы после -m
определяют пакет макроопределений. [17] Макроопределения ms находятся в файле /usr/lib/tmac/tmac.s , а макроопределения man в файле /usr/lib/tmac/tmac.an
После форматирования с помощью ms
документ hoc
выглядит так:
Брайан Керниган
Роб Пайк
РЕЗЮМЕ
Hoc — это простой программируемый интерпретатор для выражений с плавающей точкой. Он обеспечивает поток управления в стиле Си, определения функций и обычные числовые встроенные функции, такие как косинус и логарифм.
Hoc — это язык выражений, во многом подобный Си; хотя он содержит несколько управляющих операторов, большинство операторов, таких как присваивания, это выражения, чьи значения не принимаются во внимание.
Хотя нам и удобно, что troff
осуществляет заполнение и выравнивание текста, иногда нежелательно, в частности для программ, выравнивать их границы. Такое форматированное представление называется отображением текста. Команды ms .DS
(начало отображения) и .DE
(конец отображения) ограничивают текст, благодаря чему он выводится с отступами, но без реорганизации. Посмотрите на следующий фрагмент руководства по hoc
, включающий короткое отображение:
.PP
.I Hoc
Это язык выражений,
во многом подобный Си:
хотя он содержит несколько управляющих операторов,
большинство операторов, таких как присваивания,
это выражения, чьи значения не принимаются во внимание.
Например, оператор присваивания
= присваивает значение его правой части
его левому операнду и вырабатывает значение,
используемое в многократном присваивании.
Грамматика выражений такова:
.DS
.I
выражение: число
| переменная
| (выражение)
| выражение бинарная-операция выражение
| унарная-операция выражение
| функция(аргументы)
.R
.DE
Числа представляются с плавающей точкой.
Данный фрагмент печатается так:
Hoc — это язык выражений, во многом подобный Си; хотя он содержит несколько управляющих операторов, большинство операторов, таких как присваивания, — это выражения, чьи значения не принимаются во внимание. Например, оператор присваивания = присваивает значение своей правой части левому операнду и вырабатывает значение, используемое в многократном присваивании. Грамматика выражений такова:
выражение: число
| переменная
| (выражение)
| выражение бинарная_операция выражение
| унарная_операция выражение
| функция (аргументы)
Числа представляются с плавающей точкой.
Текст внутри отображения не является ни нормально заполненным, ни выравненным. Далее, если места на текущей странице не хватает, отображаемый материал (и все, что за ним следует) переносится на следующую страницу. Команда .DS
обеспечивает несколько флагов, включая L
для левого выравнивания, С
для индивидуальной центровки каждой строки и В
для центровки всего отображения.
Фрагменты текста в приведенном выше отображении разделены символами табуляции. По умолчанию символы табуляции troff
ставятся через каждые полдюйма, а не через восемь пробелов, как обычно. Даже если бы эти символы вставлялись через каждые восемь пробелов, символы табуляции, обрабатываемые troff
, не всегда бы появлялись там, где нужно из-за их переменной ширины.
Макроопределения ms обеспечивают три команды смены шрифта. Команда .R
меняет шрифт на латинский (обычный), .I
устанавливает курсив, а .B
— жирный шрифт:
Этот текст обычный,
.I
это курсив
.R
это снова обычный, а
.B
это жирный шрифт.
При выполнении команд приведенный выше текст превращается в следующий:
Этот текст обычный, это курсив , это снова обычный, а это жирный шрифт.
Команды .I
и .В
воспринимают возможные аргументы, причем смена шрифта относится только к аргументу. В troff
аргументы, содержащие пробелы, должны быть экранированы, и единственным символом для такой операции служит двойная кавычка "
.
Это обычный текст, но
.I - это
курсив, а
.В "эти слова"
напечатаны жирным шрифтом.
Данный текст печатается так:
Это обычный текст, но — это курсив, а эти слованапечатаны жирным шрифтом.
В конечном счете второй аргумент для .I
или .B
, напечатанный обычным шрифтом, добавляется без пробелов к первому аргументу. Это средство широко используется при выборе шрифта для пунктуации. Обратите внимание на последнюю скобку фразы
(взятые в скобки
.I "слова курсивом)"
которая печатается неверно в виде
(взятые в скобки слова курсивом)
и сравните ее с фразой
(взятые в скобки
.I "слова курсивом")
которая печатается верно как
(взятые в скобки слова курсивом )
Различные шрифты распознаются программой nroff
, но результат оставляет желать лучшего. Символы курсива подчеркнуты и нет жирных литер, хотя некоторые версии nroff
изображают жирный шрифт двойной печатью.
Сноски вводятся с помощью .FS
и заканчиваются .FE
. Ваше дело определить метку (сноску) в виде звездочки *
или крестика †
. Такая сноска создается следующим образом:
определяющая метка типа звездочки или крестика. \(dg
Интервал:
Закладка: