Cтраница 4
Языку FPS свойственны некоторые недостатки: невозможность создания дополнительных примитивных функций и функциональных форм, преобразования программ в объекты и объектов в программы, а также вычислений имени функции. Последние два недостатка устранены практически во всех реализациях языков ЛИСП и РЕФАЛ. [46]
Обращаем внимание на то, что в задачнике Б. П. Демидовича примитивная функция именуется интегралом. [47]
Для работы со списками в языке ЛИСП служат прежде всего примитивные функции CAR, CDR и CONS, которые реализуют основные операции по обработке и созданию списков. Используя эти функции, можно разбить произвольный список на составляющие его элементы и построить новые списки, включающие в себя как эти, так и другие элементы. [48]
Упомянутый выше выбор A, D и Р и соответствующих примитивных функций определяет объекты, выражения и семантическую функцию JLID для системы ФФП. Мы считаем множество D фиксированным и пишем JLI вместо JLID. Предполагаем, что D - это последовательность и что функция у: D может быть вычислена ( функция t задана в разд. [49]
ТАВ ( целое) и RTAB ( цeлoe) - примитивные функции, значениями которых служат структурные образцы, сопоставляющиеся со всеми литерами, начиная с текущего положения курсора и кончая определенной позицией в субъектной цепочке. TAB ( N) сопоставляется вплоть до N - й литеры субъектной цепочки. RTAB ( N) сопоставляется до ( но не включая) N - й литеры от конца субъектной цепочки. Иными словами, после TAB ( N) курсор займет положение справа от N - й литеры, а после RTAB ( N) - слева от N - й литеры, если считать от конца цепочки. [50]
РОЗ ( целое) и НРОЗ ( целое) - примитивные функции, значениями которых являются структурные образцы. Эти образцы сопоставляются с пустой цепочкой, если курсор находится в определенной позиции субъектной цепочки. POS ( N) успешно сопоставляется с пустой цепочкой, только если курсор расположен вплотную справа от N - й литеры. RPOS ( N) успешно сопоставляется с пустой цепочкой, только если курсор расположен вплотную слева от N - й ( считая от конца цепочки) литеры. POS и RPOS не вызывают движения курсора, они лишь проверяют его положение. [51]