hoc (язык программирования)
Оригинальный автор(ы) | Брайан Керниган , Роб Пайк ( AT&T Bell Laboratories ) |
---|---|
Первоначальный выпуск | 1984 год |
Репозиторий | |
Написано в | С |
Операционная система | Юникс , План 9 |
Платформа | Кросс-платформенный |
Тип | Язык программирования , Команды |
Лицензия | План 9: МОЯ лицензия |
hoc , аббревиатура от High Order Calculator , — это интерпретируемый язык программирования , который использовался в книге 1984 года «Среда программирования Unix», чтобы продемонстрировать, как создавать интерпретаторы с использованием Yacc .
hoc был разработан Брайаном Керниганом и Робом Пайком как прославленный интерактивный калькулятор. Его основная функция заключается в вычислении числовых выражений с плавающей запятой, например: 1+2*sin(0.7)
. Затем были добавлены переменные, условия, циклы, пользовательские функции, простой ввод-вывод и многое другое, используя синтаксис, напоминающий C.
Усовершенствованный специальный интерпретатор был включен в восьмое издание Research Unix в 1985 году, но он не получил широкого распространения в коммерческих системах Unix или дистрибутивах Linux . более ранние языки калькуляторов dc и bc Вместо этого в этих системах получили широкое распространение . hoc выжил и продолжил развиваться как часть операционной системы Plan 9 . Несколько улучшенных версий hoc были выпущены как бесплатное программное обеспечение Bell Labs и другими лицами (см. список ниже). hoc используется наряду с Python в качестве языка сценариев для симулятора Neuron .
Примеры
[ редактировать ]Ниже приведен простой пример сеанса интерактивного калькулятора; выделенный текст представляет вывод 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
Ссылки
[ редактировать ]- Керниган, Брайан В.; Пайк, Роб (1984). Среда программирования Unix . Прентис Холл. ISBN 0-13-937681-Х .
Внешние ссылки
[ редактировать ]- Plan 9 , том 1 Руководство программиста –
специальные реализации и версии
[ редактировать ]- Версии AT&T:
- Оригинальный код из книги Unix Programming Environment , включая hoc.
- Исходный код HOC от Bell Labs, выпущенный как бесплатное программное обеспечение . Это версия Research Unix, немного улучшенная по сравнению с версией, представленной в книге.
- Версия hoc Plan9 выпущена под лицензией Lucent Public License . Эта версия немного отличается от версии Research Unix, причем наиболее заметным отличием является то, что нумерованные аргументы функции ($1, $2 и т. д., как в оболочке Unix) были заменены именованными аргументами (как в C). Plan 9 См. также специальное руководство .
- Другие версии:
- расширенная версия hoc Нельсона Х.Ф. Биба.
- расширенная версия hoc Надава Ю. Хар'Эла.
- расширенная версия hoc Джека Деннона.
- расширенная версия hoc Майкла Хайнса, Джона В. Мура и Теда Карневейла.