hoc , аббревиатура от High Order Calculator , представляет собой интерпретируемый язык программирования, который использовался в книге 1984 года «Среда программирования Unix» для демонстрации того, как создавать интерпретаторы с использованием Yacc .
Автор (ы) оригинала | Брайан Керниган , Роб Пайк ( AT&T Bell Laboratories ) |
---|---|
Первый выпуск | 1984 |
Репозиторий | |
Операционная система | Unix , план 9 |
Платформа | Кроссплатформенность |
Тип | Язык программирования , Команда |
hoc был разработан Брайаном Керниганом и Робом Пайком как прославленный интерактивный калькулятор. Его основная функциональность - вычислять числовые выражения с плавающей запятой, например, «1 + 2 * sin (0.7)». Затем были добавлены переменные, условные выражения, циклы, пользовательские функции, простой ввод-вывод и многое другое с использованием синтаксиса, напоминающего C.
Усовершенствованный интерпретатор hoc был включен в Eighth Edition Research Unix в 1985 году, но в целом он не был принят коммерческими системами Unix или дистрибутивами Linux . Вместо этого более ранние языки калькуляторов dc и bc получили широкое распространение в этих системах. hoc выжил и продолжил развиваться как часть операционной системы Plan 9 . Несколько улучшенных версий Hoc были выпущены как бесплатное программное обеспечение Bell Labs и другими лицами (см. Список ниже). hoc используется в качестве основного языка сценариев для симулятора Neuron .
Примеры
Ниже приведен простой пример сеанса интерактивного калькулятора в режиме hoc; выделенный текст представляет вывод hoc:
1 + 2 * 3 7угол = PI / 3 r = sin ( угол ) р 0,866025г * 2 1,73205
И простой пример функций и управления потоком:
func atan 2 () { if ( $ 1 > 0 ) { return atan ( $ 2 / $ 1 ) } else if ( $ 1 < 0 ) { return atan ( $ 2 / $ 1 ) + PI } else if ( $ 2 > 0 ) { return PI / 2 } else if ( $ 2 < 0 ) { return - PI / 2 } else { print "atan2 domain error" return 0 } } атан 2 ( 2 , 3 ) 0,982794атан 2 ( 0 , 0 )ошибка домена atan 2 0,0
Рекомендации
- Керниган, Брайан В .; Пайк, Роб (1984). Среда программирования Unix . Прентис Холл. ISBN 0-13-937681-X.
Внешние ссылки
- Plan 9 , том 1 - Руководство программиста
произвольные реализации и версии
- Версии AT&T:
- Исходный код из книги Unix Programming Environment , включая hoc.
- Исходный код hoc от Bell Labs, выпущенный как бесплатное программное обеспечение . Это версия Research Unix, немного улучшенная по сравнению с версией в книге.
- Plan9 версия hoc выпущена под общественной лицензией Lucent . Эта версия немного отличается от версии Research Unix, причем наиболее заметным отличием является то, что нумерованные аргументы функции ($ 1, $ 2 и т. Д., Как в оболочке Unix) были заменены именованными аргументами (как в C). См. Также специальное руководство Plan 9 .
- Другие версии:
- расширенная версия hoc от Nelson HF Beebe.
- расширенная версия hoc Надава Й. Хар'Эля.
- расширенная версия hoc Джека Деннона.
- расширенная версия hoc Майкла Хайнса, Джона В. Мура и Теда Карневейла.