Jump to content

hoc (язык программирования)

специальный
Оригинальный автор(ы) Брайан Керниган , Роб Пайк
( AT&T Bell Laboratories )
Первоначальный выпуск 1984 год ; 40 лет назад ( 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-Х .
[ редактировать ]

специальные реализации и версии

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8b3b365c73ae4d047da87e3630418831__1721553780
URL1:https://arc.ask3.ru/arc/aa/8b/31/8b3b365c73ae4d047da87e3630418831.html
Заголовок, (Title) документа по адресу, URL1:
hoc (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)