Кіріспе
HAL/S (High order Assembly Language/Shuttle) – НАСА және оған қатысты агенттіктер (JPL және т.б.) қолданатын авиациялық қолданбаларға арналған нақты уақытты аэроғарыш бағдарламалау тілінің компиляторы және кросс-компиляторы. Ол 1973 жылдан бері көптеген АҚШ ғарыш жобаларында пайдаланылып келеді, ал ең маңызды қолданылуы «Space Shuttle» бағдарламасында болды (Shuttle бағдарламасының шамамен 85% HAL/S тілінде кодталған). Ол 1972 жылы NASA үшін Intermetrics компаниясымен жобаланып, 1973 жылы тапсырылды. HAL/S, PL/I тілінің диалектісі болып табылатын XPL тілінде жазылған. HAL/S негізінен борттық компьютерлерде бағдарламалау үшін әзірленгенімен, аэроғарыш және басқа да нақты уақытты қолданбаларды өндіру, тексеру және қолдау үшін қажетті барлық талаптарды қанағаттандыруға жеткілікті мүмкіндіктерге ие. 2005 жылғы құжаттамаға сәйкес, оны United Space Alliance компаниясының HAL/S жобасы күтіп бақты.
HAL/S (High order Assembly Language/Shuttle) is a real time aerospace programming language compiler and cross compiler for avionics applications used by NASA and associated agencies (JPL, etc.). It has been used in many U. S. space projects since 1973 and its most significant use was in the Space Shuttle program (approximately 85% of the Shuttle software was coded in HAL/S). It was designed by Intermetrics in 1972 for NASA and delivered in 1973. HAL/S is written in XPL, a dialect of PL/I. Although HAL/S is designed primarily for programming on board computers, it is general enough to meet nearly all the needs in the production, verification, and support of aerospace and other real time applications. According to documentation from 2005, it was being maintained by the HAL/S project of United Space Alliance.
Мақсаттар мен қағидалар
Тілді жобалаудағы үш негізгі принцип – сенімділік, тиімділік және машина тәуелсіздігі болды. Тіл аэроғарыш саласындағы тапсырмаларды (мысалы, векторлық/матрицалық арифметика) ғарышқа қатысты білімі бар, бірақ компьютерлік бағдарламалауда тиісті тәжірибесі жоқ адамдар оңай түсіне алатындай етіп орындауға мүмкіндік беру үшін жасалған. HAL/S қателерге себеп болатын деп есептелген кейбір конструкцияларды қамтымайды. Мысалы, динамикалық жадты бөлуге қолдау көрсетілмейді. Тіл, нақты уақыт орындалу орталарын ерекше түрде қолдайды. "GOTO" сияқты кейбір мүмкіндіктер, негізінен басқа тілдерден автоматты аударманы жеңілдету үшін қосылды. "HAL" атауын Intermetrics компаниясының негізін қалаушы директоры Эд Коппс, MIT-дегі әріптесі Хал Лэнингтің құрметіне жаңа тіл үшін ұсынды. HAL/S тілінің ерекшеліктеріне кіріспеде:
"HAL" was suggested as the name of the new language by Ed Copps, a founding director of Intermetrics, to honor Hal Laning, a colleague at MIT. On the Preface page of the HAL/S Language Specification,
Деректер түрлері
HAL/S бүтін сандарды, қозғалмалы нүктелі шамаларды, векторларды, матрицаларды, логикалық мәндерді және 8 биттік символдардан тұратын, максималды ұзындығы 255 символға дейін шектелген жолдарды түпкілікті түрде қолдайды. Құрылымдық типтер DECLARE STRUCT операторы арқылы құрастырылуы мүмкін.