Автор (ы) | Брайан Керниган, Роб Пайк. (ATT Bell Laboratories ) |
---|---|
Первый выпуск | 1984 г.; 36 лет назад (1984 г.) |
Репозиторий | |
Операционная система | Unix, Plan 9 |
Платформа | Кросс-платформенность |
Тип | Язык программирования, Command |
hoc, аббревиатура от High Order Calculator, является интерпретируемым языком программирования, который использовался в 1984 году. книга Среда программирования Unix для демонстрации создания интерпретаторов с использованием Yacc.
hoc была разработана Брайаном Керниганом и Робом Пайком как прославленный интерактивный калькулятор. Его основная функция заключается в вычислении числовых выражений с плавающей запятой, например, «1 + 2 * sin (0.7)». Затем v Были добавлены переменные, условные выражения, циклы, определяемые пользователем функции, простой ввод-вывод и многое другое с использованием синтаксиса, напоминающего C.
В восьмое издание Research был включен улучшенный интерпретатор hoc. Unix в 1985 году, но он не был принят в коммерческих системах Unix или в дистрибутивах Linux. Вместо этого более ранние языки калькуляторов dc и bc получили широкое распространение в этих системах. hoc выжил и продолжил развиваться как часть операционной системы Plan 9. Несколько улучшенных версий Hoc были выпущены как бесплатное программное обеспечение Bell Labs и другими лицами (см. Список ниже). hoc используется в качестве основного языка сценариев для симулятора нейрона.
Ниже приводится простой пример сеанса интерактивного калькулятора в произвольном порядке; выделенный текст представляет вывод hoc:
1 + 2 * 3 7 angle = PI / 3 r = sin (angle) r 0.866025 r * 2 1.73205
И простой пример функций и управления потоком:
func atan2 () {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 } } atan2(2,3) 0.982794 atan2(0,0) atan2 domain error 0.0