UNIX — универсальная среда программирования - Керниган Брайан Уилсон
Шрифт:
Интервал:
Закладка:
Таблица П.1.2: Сводка команд <b>ed</b>
n Абсолютный номер строки n, n = 0,1, 2,... . Текущая строка $ Последняя строка текста /re/ Следующая строка, соответствующая re; после последней $ циклическое движение к первой строке ?re? Предыдущая строка, соответствующая re; после первой циклическое движение к последней $ 'c Строка с меткой с N1+/-n Строка N1+/-n (аддитивная комбинация) N1,N2 Строки с N1 по N2 N1;N2 Команда: сделать строку N1 текущей, затем вычислить N2. N1 и N2 могут быть определены любым из перечисленных выше способовТаблица П.1.3: Номера строк в <b>ed</b>
УпражнениеЕсли вы думаете, что знаете ed, попробуйте выполнить текст (см. справочное руководство по quiz(6)).
Приложение 2
Справочное руководство по hoc
Hoc — диалоговый язык для арифметики с плавающей точкой
Б. Керниган Р. Пайк РЕЗЮМЕHoc — это простой программируемый интерпретатор для выражений с плавающей точкой. Он обеспечивает поток управления в стиле Си, определения функций и обычные числовые встроенные функции, такие, как косинус и логарифм.
ВыраженияHoc представляет язык выражений, во многом подобный Си: хотя он и содержит несколько управляющих операторов, большинство операторов, например присваивания, суть выражения, значения которых не принимаются во внимание. Так, оператор присваивания = присваивает значение своей правой части левому операнду и вырабатывает значение, используемое в многократном присваивании. Грамматика выражений имеет вид:
выражение : число
| переменная
| (выражение)
| выражение бинарная_операция выражение
| унарная_операция выражение
| функция(аргументы)
Числа представляются с плавающей точкой. Формат ввода распознается с помощью scanf(3): цифры, десятичная точка, цифры, е или E, показатель степени со знаком. Должна присутствовать по крайней мере одна цифра или десятичная точка; другие компоненты являются необязательными.
Имена переменных формируются из букв, за которыми следуют строки букв и цифр. Здесь бинарная_операция означает двуместные операции, такие, как сложение или логическое сравнение, а унарная_операция — две операции отрицания: '!' (логическое отрицание НЕ) и (арифметическое отрицание, перемена знака). Все операции перечислены в табл. П.2.1.
^ Возведение в степень (FORTRAN **), правоассоциативна ! - Одноместные логическое и арифметическое отрицания * / Умножение, деление + - Сложение, вычитание > >= Операции отношения: больше, больше или равно < <= Меньше, меньше или равно == != Равно, не равно (все отношения одинакового приоритета) && Логическое И (оба операнда всегда вычисляются) || Логическое ИЛИ (оба операнда всегда вычисляются) = Присваивание, правоассоциативнаТаблица П.2.1. Операции по порядку уменьшения приоритета
Функции, как описывается ниже, могут быть определены пользователем. Аргументы функций — это выражения, разделяемые запятыми. В табл. П.2.2 перечислено несколько встроенных функций, имеющих по одному аргументу.
abs(x) Абсолютная величина x atan(x) Арктангенс x cos(x) Косинус x exp(х) Экспонента x int(x) Целая часть x, усеченная в сторону нуля log(x) Натуральный логарифм x log10(x) Десятичный логарифм x sin(x) Синус x sqrt(x) Корень квадратный из x