Персональные ЭВМ

Сложные автономные программные комплексы


Первые трансляторы с языка Пролог работали в интерпрети­рующем режиме и предоставляли пользователям минимум сер­висных средств. В последнее время различные Пролог-компи­ляторы позволяют создавать достаточно сложные автономные программные комплексы.

К числу интерпретаторов относятся Prolog/i, ALS Prolog, Quintus Prolog, LM-Prolog, Prolog-86, MicroProlog. Наиболее известными компиляторами являются Turbo Prolog 2.0, Arity Prolog, Prolog-2.

Компилятор Turbo Prolog — расширенный диалект класси­ческого Пролога в части процедурных языковых конструкций (аналогичных Turbo Pascal), большого числа встроенных преди­катов, обеспечивающих работу с графикой и базами данных, а также доступа к системным ресурсам ПЭВМ. Фирма Borland для расширения возможностей языка Turbo Prolog разработала пакет Turbo Prolog Toolbox, обеспечивающий работу программ, на­ писанных на языке Пролог, с файлами в форматах распространен­ных СУБД dBASE III и Reflex, табличного процессора Lotus 1-2-3, графической системы PC Paint Brush, а также создания эффек­тивных оконных пользовательских интерфейсов, управляемых при помощи меню. Критические к скорости выполнения и емкости ОЗУ программы-предикаты программист может разрабатывать на ЯП Turbo С, Turbo Pascal, Turbo Assembler.

Транслятор Arity Prolog 5.0 (фирма Microsoft) содержит встроенный язык Си, который может экспортировать в Пролог- программу типы данных. Однако для трансляции Си-функции требуется параллельное использование компилятора MS С или Quick С. Для работы с графикой используется стандартная гра­фическая библиотека фирмы Microsoft.

Си. Имеет значительную важность в качестве структуриро­ванного машинно-независимого ЯП, включающего средства по­битовой обработки информации. Операционная система UNIX на 90% написана на Си, и только 10% программ ядра UNIX пи­шется на языке ассемблера конкретно для каждого типа ЭВМ. Язык Си отличается компактностью, простотой алгоритмической организации, четким, лаконичным синтаксисом, однако сложен в изучении, эта обусловило недостаточно широкое его распростра­нение среди прикладных программистов.

Оттранслированный код программы, написанный на Си, испол­няется очень быстро и уступает по скоростным характеристи­кам лишь языку Форт и ассемблеру, выигрывая у них в ясности записи алгоритма программы.

В языке Си имеются конструкции, присущие структурирован­ному ЯП (циклы, описания структур, вызов функций), функции процедуры отсутствуют, допускаются арифметические операции над адресами. Операторы языка Си работают только со скаляр­ными типами данных.

Для обеспечения мобильности программ в компиляторах с Си предусмотрен весьма эффективный препроцессор и специальный текстовой процессор, предназначенный для обработки исходного файла во время первого прохода компилятора. Использование препроцессора обеспечивает максимальную независимость прог­раммы от конкретного типа- компилятора и оборудования.

К недостаткам языка Си относят: статическое распределе­ние, памяти, однако предусмотрены списочные структуры и функции, позволяющие динамически выделять память; слабый контроль типов. В и МХ для повышения надежности программ на языке Си используется синтаксический анализатор. Анало­гичные специальные синтаксические анализаторы разрабаты­ваются и для MS DOS и OS/2.

Комментарии закрыты