HAL/S

Поделись знанием:
Перейти к: навигация, поиск
HAL/S
Семантика:

процедурный

Тип исполнения:

компилируемый

Появился в:

19701972[1]

Автор:

Intermetrics

Система типов:

статическая

Испытал влияние:

PL/1, ALGOL, MAC/360

HAL/S (англ. High-order Assembly Language/Shuttle[2] — «язык ассемблера высокого уровня/шаттл») — язык программирования, предназначенный для аэрокосмических систем реального времени, получивший известность из-за использования в Программе космических шаттлов. Разработан в 1970-х годах компанией Intermetrics для НАСА. Написан на XPL, диалекте PL/I.

Тремя ключевыми факторами, обусловившими появление данного языка явились надёжность, эффективность и машиннонезависимость. Язык разработан для того, чтобы позволить выполнять задачи, связанные с аэрокосмическими нуждами (такие как векторные/матричные вычисления) так, чтобы это было легко понимаемо людьми, обладающими знаниями в области аэронавтики и не обязательно имеющими квалификацию в области программирования.

HAL/S разработан без многих конструкций, известных тем, что они часто приводят к ошибкам. В языке не используются сокращения для ключевых слов, ключевые слова не могут использоваться для обозначения переменных.

Некоторые возможности, такие как «GOTO» предоставлены главным образом для упрощения перевода на этот язык программ, написанных на других языках[3].

Особенности, подобные описанным, приданы языку для снижения вероятности появления ошибок и упрощения понимания программ (само-документирующийся код).

HAL не является акронимом. На странице введения спецификации языка HAL/S[4] говорится: «….основной вклад в концепцию и реализацию MAC внёс профессор Дж. Хэлкомб Лэйнинг (Dr. J. Halcombe Laning) из Draper Laboratory.» Название «HAL» для нового языка предложено Эдом Коппсом (Ed Copps), основателем Intermetrics, в честь Хэла Лэйнинга, коллеги по Массачусетскому технологическому институту.

Одной из интересных возможностей HAL является то, что он поддерживает трёхстрочный входной формат, в котором три строки исходного кода используются для каждого оператора, где первую и третью строки можно использовать для показателей степени и индексов соответственно[5]. Это было сделано в соответствии с математической нотацией.

Напишите отзыв о статье "HAL/S"



Примечания

  1. Michael J. Ryer. 1.2 HAL/S contrasted with other high order languages // Programming in HAL/S. — 1978.
  2. [science.ksc.nasa.gov/shuttle/technology/sts-newsref/sts-av.html#sts-dps-software STS Software] (англ.). NSTS 1988 News Reference Manual. NASA. Проверено 24 октября 2011. [www.webcitation.org/66do1Y4on Архивировано из первоисточника 3 апреля 2012].
  3. [klabs.org/richcontent/software_content/hal_s/programming_in_hal-s.pdf] «Программирование на HAL/S», страница 82  (англ.)
  4. [klabs.org/richcontent/software_content/hal_s/hal-s_language_specification.pdf] «Спецификация языка HAL/S»  (англ.)
  5. Barbara Whitfield, …. 2.1 Primary Source Input // [klabs.org/richcontent/software_content/hal_s/hal-s_compiler_system_specification.pdf HAL/S-FS Compiler System Specification]. — 2005.

Ссылки

  • [klabs.org/DEI/Processor/shuttle/ Центр НАСА дизайна логики: компьютеры и авионика космических шаттлов]  (англ.)
  • включая спецификации [klabs.org/richcontent/software_content/hal_s/hal-s_language_specification.pdf языка] и [klabs.org/richcontent/software_content/hal_s/hal-s_compiler_system_specification.pdf компилятора], руководство [klabs.org/richcontent/software_content/hal_s/hal-s_programmers_guide.pdf программиста] и [klabs.org/richcontent/software_content/hal_s/hal-s-fc_users_manual.pdf пользователя].
  • [www.hq.nasa.gov/office/pao/History/computers/Appendix-II.html Компьютеры в космических полётах: опыт НАСА]  (англ.) — Джорджа Томаяко (George Tomayko) (Приложение II: «HAL/S, язык реального времени для космических полётов»)  (англ.)

Отрывок, характеризующий HAL/S

Я думаю, что министр уже рапортовал об оставлении неприятелю Смоленска. Больно, грустно, и вся армия в отчаянии, что самое важное место понапрасну бросили. Я, с моей стороны, просил лично его убедительнейшим образом, наконец и писал; но ничто его не согласило. Я клянусь вам моею честью, что Наполеон был в таком мешке, как никогда, и он бы мог потерять половину армии, но не взять Смоленска. Войска наши так дрались и так дерутся, как никогда. Я удержал с 15 тысячами более 35 ти часов и бил их; но он не хотел остаться и 14 ти часов. Это стыдно, и пятно армии нашей; а ему самому, мне кажется, и жить на свете не должно. Ежели он доносит, что потеря велика, – неправда; может быть, около 4 тысяч, не более, но и того нет. Хотя бы и десять, как быть, война! Но зато неприятель потерял бездну…
Что стоило еще оставаться два дни? По крайней мере, они бы сами ушли; ибо не имели воды напоить людей и лошадей. Он дал слово мне, что не отступит, но вдруг прислал диспозицию, что он в ночь уходит. Таким образом воевать не можно, и мы можем неприятеля скоро привести в Москву…
Слух носится, что вы думаете о мире. Чтобы помириться, боже сохрани! После всех пожертвований и после таких сумасбродных отступлений – мириться: вы поставите всю Россию против себя, и всякий из нас за стыд поставит носить мундир. Ежели уже так пошло – надо драться, пока Россия может и пока люди на ногах…
Надо командовать одному, а не двум. Ваш министр, может, хороший по министерству; но генерал не то что плохой, но дрянной, и ему отдали судьбу всего нашего Отечества… Я, право, с ума схожу от досады; простите мне, что дерзко пишу. Видно, тот не любит государя и желает гибели нам всем, кто советует заключить мир и командовать армиею министру. Итак, я пишу вам правду: готовьте ополчение. Ибо министр самым мастерским образом ведет в столицу за собою гостя. Большое подозрение подает всей армии господин флигель адъютант Вольцоген. Он, говорят, более Наполеона, нежели наш, и он советует все министру. Я не токмо учтив против него, но повинуюсь, как капрал, хотя и старее его. Это больно; но, любя моего благодетеля и государя, – повинуюсь. Только жаль государя, что вверяет таким славную армию. Вообразите, что нашею ретирадою мы потеряли людей от усталости и в госпиталях более 15 тысяч; а ежели бы наступали, того бы не было. Скажите ради бога, что наша Россия – мать наша – скажет, что так страшимся и за что такое доброе и усердное Отечество отдаем сволочам и вселяем в каждого подданного ненависть и посрамление. Чего трусить и кого бояться?. Я не виноват, что министр нерешим, трус, бестолков, медлителен и все имеет худые качества. Вся армия плачет совершенно и ругают его насмерть…»


В числе бесчисленных подразделений, которые можно сделать в явлениях жизни, можно подразделить их все на такие, в которых преобладает содержание, другие – в которых преобладает форма. К числу таковых, в противоположность деревенской, земской, губернской, даже московской жизни, можно отнести жизнь петербургскую, в особенности салонную. Эта жизнь неизменна.
С 1805 года мы мирились и ссорились с Бонапартом, мы делали конституции и разделывали их, а салон Анны Павловны и салон Элен были точно такие же, какие они были один семь лет, другой пять лет тому назад. Точно так же у Анны Павловны говорили с недоумением об успехах Бонапарта и видели, как в его успехах, так и в потакании ему европейских государей, злостный заговор, имеющий единственной целью неприятность и беспокойство того придворного кружка, которого представительницей была Анна Павловна. Точно так же у Элен, которую сам Румянцев удостоивал своим посещением и считал замечательно умной женщиной, точно так же как в 1808, так и в 1812 году с восторгом говорили о великой нации и великом человеке и с сожалением смотрели на разрыв с Францией, который, по мнению людей, собиравшихся в салоне Элен, должен был кончиться миром.