рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Использование Prolog совместно с другими ЯП

Использование Prolog совместно с другими ЯП - раздел Программирование, Использование Prolog Совместно С Другимияп. Понятие Dll. Вспомним Процесс Пр...

Использование Prolog совместно с другимиЯП. Понятие Dll. Вспомним процесс программирования в DOS. Преобразование исходного текста в машинный код включал всебя 2 процесса компиляцию и линковку.Во время линковки в код программыпомещались не только объявления функций и процедур, но и их полный код. В многозадачной среде подобный подход был бы весьма расточителен, таккак огромное количество функций, отвечающих за прорисовку элементовпользовательского интерфейса, за обращение к системным ресурсам и т.п.дублировались в каждой программе.

В качестве решения возникшей проблемы былапредложена концепция динамической компоновки см. рис. 1 . рис1. DLL библиотекадинамической связи файл, выступающий в качестве коллективной библиотекипредикатов, которые могут быть использованы одновременно в несколькихприложениях.Prologспособен генерировать DLL,включать DLL статическии загружать динамически. Вызов в программе на VP процедур и функций на других языках. Прежде чемвызвать процедуры и функции на других языках их нужно объявить как внешнийпредикат, упомянув, что он осуществляется на другом языке.

При этом необходимознать количество и порядок входных параметров GLOBAL PREDICATES procedure add integer A, integer B, integerC i,i,o language pascal Замечание обратите внимание, что в VPявно указывается язык процедурыПередачавходных выходных параметров и возвращение значений. Размер входныхпараметров определен однозначно и зависит только от объявленного типа. Выходнойпараметр 32 битный указатель на область памяти, где хранится выходноезначение.

Следует отметить,что функции на Pascalне могут возвращать значения в формате чисел с плавающей точкой, а функции C - структуры но могут,конечно, возвращать указатели на них . Многочисленныедекларации. Предикат VP может иметь различныекомбинации входных выходных параметров, и для каждой из них необходимаотдельная процедура.Идентификаторы, используемые в Prolog должны совпадать сидентификаторами в библиотеке суффикс X, где X целое число порядковый номер процедуры, нумерация начинается с 0 . Еслисуществует только один вариант, то суффикс отсутствует. Рассмотрим пример GLOBALPREDICATES subtraction integer, integer, integer i,i,o , i,o,i , o,i,i , i,i,i language C change integer, integer i,o languageC GOAL subtraction 2,2,X , write 2-2 ,X , nl, subtraction 2,Y,5 , write 2-5 ,Y , nl, subtraction Z,5,4 , write 5-4 ,X , nl, subtraction 2,2,5 , write 2-2 равно 5 , nl, change 5, Ch , write Ch .Модуль, связываемый сэтой программой должен содержать процедуры subtraction 0 int x, int y, int z z x-y subtraction 1 int x, int y, int z y x-z subtraction 2 int x, int y, int z x y-z subtraction 3 int x, int y, int z if x-y ! z RUN Fail change int a, int b b a Примечание если процедура написана на языке C, то параметры заносятся в стек в обратном порядке послевозврата значений указатель автоматически корректируется VP , в противном случае, параметрызаносятся в стек в нормальном порядке см. таблицу 1 . Форматы объектныхфайлов в Win32. Под Win32 используется 2 форматаобъектных файлов OMF объектно-модульный формат используется, например, Borland C и COFF Общий объектно-файловый формат,используется, например, Visual C .1. При использовании файла в формате OMF имя предиката должно совпадать сименем функции.2. При использовании файла в формате COFF, к имени предиката добавляется знакподчеркивания, и после символа указывается количество байт, добавленных встек например, если предикат nameимеет 2 целых аргумента, то он должен быть объявлен как name 8 см. таблицу 1 .Установка указателяна стек. Существует дваспособа установки указателя на стек при объявлении функции и при ее вызове.Так сложилось, что Pascalустанавливает указатель при объявлении функции, а С при вызове см. таблицу1 . Конвертирует имена в верхний регистр. Порядок аргументов прямой.

Устанавливает указатель на стек при объявлении.

Необходимость конвертировать имена в формат COFF. C pascal stdcall - syscall - Таблица 1 вызовмодулей из VP. Неавтоматическое обозначение внешних предикатов.

Идентификатор процедуры или функции в VP не обязательно должен совпадать с идентификатором во внешнеммодуле. В этом случае объявление такогопредиката имеет вид GLOBAL PREDICATES add integer,integer, integer i,o language c as myadd 12 Эквивалентность типов. Большинство простых типов переменных в VP имеют эквиваленты в других языкахпрограммирования, однако размер резервируемой для них памяти может не совпадать см. таблицу 2 . Тип переменной Размер Win32 . char, byte 1 байт short, word 2 байт long, dword 4 байт unsigned, integer 4 байт Real 8 байт Ref 4 байт Таблица 2 размерпеременных в VP. Обработка списков.

Ниже приведен пример программы, преобразующей список в массив, и затемвновь возвращающей данные в список.

Программа ListToArrayна языке С преобразует список целых чисел в массив, записывает в стек элементымассива и возвращает количество элементов массив и количество элементовпередаются в программу как параметры . Преобразование списка проходит в 2 этапа 1. Просматривается список и находится количество элементовв нем.2. Целые числа из списка заносятся в массив, состоящий изизвестного количества элементов. Programlstar p.pro project lstar global domainsilist integer global predicatesinclist ilist,ilist - i,o language cgoalinclist 1,2,3,4,5,6,7 ,L , write L . Programlstar c.c define listfno 1 define nilfno 2typedef unsigned char BYTE void MEM AllocGStack unsigned typedefstruct ilist BYTE Functor int Value struct ilist Next IINTLIST SaveList List int Array, len register int ArrP register int i количество элементов в списке i 0 while List- gt Functor listfno i List List- gt Next len i Array MEM AllocGStack i sizeof int ArrP Array перемещение элементов списка вмассив List SaveList while i ! 0 ArrP List- gt Value List List- gt Next i ResultArray Array return len void ArrayToList register int ArrP,register int n,register INTLIST ListPP while n ! 0 ListPP MEM AllocGStack sizeof INTLIST ListPP - gt Functor listfno ListPP - gt Value ArrP ListPP amp ListPP - gt Next n ListPP MEM AllocGStack sizeof ListPP - gt Functor конец списка ListPP - gt Functor nilfno voidinclist INTLIST InList,INTLIST OutList register int ArrP, i, len int Array len ListToArray InList, amp Array ArrP Array for i 0 i lt len i ArrP ArrayToList Array,len,OutList Вызов предикатов VP. VP способен нетолько вызывать предикаты, но и предоставлять их другим программам.

Нижеприведен пример вызова предиката prowin msgиз программы на С Program hello p.pro global predicatescharprowin msg string - i language chello c - language cclausesprowin msg S,C -write S, press any key ,readchar C .goalprowin msg Hello from PDCProlog ,hello c. Programhello c.c char prowin msg char voidhello c while prowin msg Hellofrom C press C ! C 2003 Pechenkinpechenkin pochtamt.ruwww.cs.vsu.ru pechenkin.

– Конец работы –

Используемые теги: использование, Prolog, совместно, другими, ЯП0.085

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Использование Prolog совместно с другими ЯП

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

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

Использование культивационных сооружений в защищенном грунте
Для обеспечения благоприятного светового и теплового режимов в сооружениях защищенного грунта применяют следующие укрытия: стекло, полиэтиленовую,… Наиболее распространенными материалами для покрытия культивационных сооружений… Характерной особенностью для многих из них является более низкая граница пропускания интегрального солнечного…

Использование препаратов биологически активных веществ нового поколения в кормлении высокопродуктивных коров и бычков на откорме
Адрес института 249013, Калужская область, г. Боровск, п. Институт, ВНИИФБиП с. -х. животных, тел. 8-48438-42088. С диссертацией можно ознакомиться… Автореферат разослан 2007г. Ученый секретарь диссертационного совета, кандидат… Многочисленными исследованиями установлено, что успешное развитие молочного скотоводства невозможно без рационального…

Использование гуминовых веществ
Выявлены возможности использования ГВ в промышленном производстве и сельском хозяйстве. Первые работы по гуминовым удобрениям принадлежат Л.А. Христевой… Содержательная часть настоящего реферата и построена главным образом на анализе научных результатов, полученных данным…

Использование безусловных и условных рефлексов при эксплуатации сельскохозяйственных животных
Такой ответ происходит благодаря нервной системе. Например, при попадании соринки нервное возбуждение от нервного окончания так называемого… Благодаря ним в организме поддерживается нужное равновесие. Например, при… Так, только что вылупившиеся утята плавают; ласточки в определенном возрасте поднимаются в воздух, даже если перед…

Использование эксплуатационных материалов и экономия топливно-энергетических ресурсов
Например:.

Техническое использование СЭУ
При серийном производстве стоимость изготовления ГТУ, амортизационные отчисления и эксплуатационные расходы значительно меньше, чем соответствующие… Перспективность ГТУ как судового двигателя в значительной степени определяется… При температуре 900—950°С экономичность ГТУ будет выше, чем большинства построенных ПТУ, а при температуре 1200° С…

Использование хряков и свиноматок
Обычно племенных хряков используют до 4-5-летнего возраста. Ежегодной браковке подвергают не менее 25% производителей. Для их замены отбирают… В со¬ответствии с полученными показателями производителям назна¬чают… При конвейерной (поточной) системе опоросов хряков исполь¬зуют равномерно в течение года. В этом случае необходим…

Предпосылки (необходимость и возможность) использования логистического подхода к управлению материальными потоками в сферах производства и обращения
В первом тысячелетии, а именно во времена византийского императора Льва VI (866–912 гг.) логистика определялась, как искусство снабжения армии и… Благодаря военному делу логистика выросла в науку.Создателем первых научных… Параллельно с практическим применением во многих странах, прежде всего в США и СССР, развивается теория военной…

Некоторые вопросы обеспечения безопасности при передаче радиационных объектов для неограниченного использования населением
Особенность многих радиационных объектов, выводимых из эксплуатации, – в действующих санитарных правилах не прописана четкая процедура (алгоритм… Радиационных аварий не было, однако в процессе работы образовались невысокие… Возникает вопрос - а можно ли передать такие помещения категории «население» для неограниченного использования, есть…

0.035
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам
  • Современные тенденции использования информационных технологий в процессе разработки управленческих решений Современные информационные системы организационного управления предназначены оказывать помощь специалистам, руководителям, принимающим решения, в… Постигается это переходом на новую информационную технологию.Новая… В настоящее время на их основе создаются и успешно функционируют локальные и многоуровневые вычислительные сети,…
  • Рациональное использование природных ресурсов Основные принципы такого отношения к природным ресурсам изложены в международном документе «Концепция устойчивого экономического развития», принятом… В первую очередь это касается энергетической отрасли. Ранее уже говорилось о… В отношении невозобновляемых ресурсов в «Концепции устойчивого экономического развития» сказано, что их добычу…
  • Использование природы в развитии наблюдательности дошкольников Наблюдение как познавательная деятельность, считают В.И. Логинова, А.К Матвеева, П.Г. Саморукова « это продукт длительного развития в процессе… Наблюдение как познавательная деятельность, считают В.И. Логинова, А.К… Умение наблюдать обеспечивает полноту и адекватность формирующихся знаний. Познавательные умения, как утверждают Н.Н.…
  • Формирование и использование прибыли предприяия В случае основных фондов можно воспользоваться коэффициентами пересчета для определения их восстановительной стоимости, устанавливаемыми… Балансовая прибыль используется для оценки эффективности производства,… Объектом налогообложения предприятий и организаций является валовая прибыль.
  • Трудовые ресурсы и их использование Для исчисления трудового потенциала иногда используется понятие «рабочей силы» или экономически активного населения (ЭАН) — сумма работающих и… К ЭАН относится 2,8-3,0 млрд человек или около 45 % всего человечества (57,5 %… В большинстве экономически развитых стран доля ЭАН во всем населении колеблется в пределах 45-49 %. На сегодняшний…