Таблица П.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 |