🗊Презентация Algebraic Programming System APS

Нажмите для полного просмотра!
Algebraic Programming System APS, слайд №1Algebraic Programming System APS, слайд №2Algebraic Programming System APS, слайд №3Algebraic Programming System APS, слайд №4Algebraic Programming System APS, слайд №5Algebraic Programming System APS, слайд №6Algebraic Programming System APS, слайд №7Algebraic Programming System APS, слайд №8Algebraic Programming System APS, слайд №9Algebraic Programming System APS, слайд №10Algebraic Programming System APS, слайд №11Algebraic Programming System APS, слайд №12Algebraic Programming System APS, слайд №13Algebraic Programming System APS, слайд №14Algebraic Programming System APS, слайд №15Algebraic Programming System APS, слайд №16Algebraic Programming System APS, слайд №17Algebraic Programming System APS, слайд №18

Вы можете ознакомиться и скачать презентацию на тему Algebraic Programming System APS. Доклад-сообщение содержит 18 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





ЛЕКЦИЯ №3
ALGEBRAIC PROGRAMMING SYSTEM APS 
доц. Песчаненко В.С.
Херсонский государственный университет
Кафедра информатики
Научно-исследовательский институт информационных технологий
Лаборатория по разработке и внедрению педагогических программных средств
2010
Описание слайда:
ЛЕКЦИЯ №3 ALGEBRAIC PROGRAMMING SYSTEM APS доц. Песчаненко В.С. Херсонский государственный университет Кафедра информатики Научно-исследовательский институт информационных технологий Лаборатория по разработке и внедрению педагогических программных средств 2010

Слайд 2





ALGEBRAIC PROGRAMMING SYSTEM APS
Области применения:
прототипирование алгоритмов,
верификация,
доказательство программ,
компьютерная алгебра,
алгебра логики,
конвертация данных,
парсеры
Если данные можно представить в виде дерева, и это дерево надо как-то преобразовывать – в этом случае точно можно использовать APS.
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Области применения: прототипирование алгоритмов, верификация, доказательство программ, компьютерная алгебра, алгебра логики, конвертация данных, парсеры Если данные можно представить в виде дерева, и это дерево надо как-то преобразовывать – в этом случае точно можно использовать APS.

Слайд 3





ALGEBRAIC PROGRAMMING SYSTEM APS
WHAT ARE NEW?
Язык FPL (Formula Processing Language) – позволяет использовать язык  APLAN на C++.
Интеграция с технологиями SmartPtr, GMP library.
Реализация процедуры хеширования в алгоритме переписывания.
Реализация функций добавления, удаления и обновления правил системы переписывающих правил (задача хеширования термов).
Реализация недетерминированной стратегии переписывания.
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS WHAT ARE NEW? Язык FPL (Formula Processing Language) – позволяет использовать язык APLAN на C++. Интеграция с технологиями SmartPtr, GMP library. Реализация процедуры хеширования в алгоритме переписывания. Реализация функций добавления, удаления и обновления правил системы переписывающих правил (задача хеширования термов). Реализация недетерминированной стратегии переписывания.

Слайд 4





ALGEBRAIC PROGRAMMING SYSTEM APS
Файловая структура:
aps.exe
intlib.dll
intlib_can.tbl
intlib_proc.tbl
sublib.dll
sublib_proc.tbl
usrlib.dll
usrlib_can.tbl
usrlib_proc.tbl
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Файловая структура: aps.exe intlib.dll intlib_can.tbl intlib_proc.tbl sublib.dll sublib_proc.tbl usrlib.dll usrlib_can.tbl usrlib_proc.tbl

Слайд 5





ALGEBRAIC PROGRAMMING SYSTEM APS
_proc.tbl (описание С++ процедур):
1 строка: 30 – количество записей в файле
Оставшиеся строки имеют вид:
<APLAN имя>  v[V][S]…    <С++ имя>  <имя библиотеки>
V – интерпретировать
 S – копировать
Количество больших V,S – количество параметров процедуры
Пример:
let                vVS      let
В языке APLAN C++ функцию let можно вызвать использовав имя let с двумя параметрами. Первый параметр интерпретируется, второй – копируется.
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS _proc.tbl (описание С++ процедур): 1 строка: 30 – количество записей в файле Оставшиеся строки имеют вид: <APLAN имя> v[V][S]… <С++ имя> <имя библиотеки> V – интерпретировать S – копировать Количество больших V,S – количество параметров процедуры Пример: let vVS let В языке APLAN C++ функцию let можно вызвать использовав имя let с двумя параметрами. Первый параметр интерпретируется, второй – копируется.

Слайд 6





ALGEBRAIC PROGRAMMING SYSTEM APS
Определения:
Канонизатор – С++ функция или система переписывающих правил которая строит каноническую форму.
Отметка – тип данных APS, который определяется так:
MARK <имя>(<арность>[,<приоритет>[,<>[,<0 или 1 для арности 2>]]])
и.ф.з для арности 2
и.ф.з – инфиксная форма записи.
0 – дерево для одинаковых вершин – правосторонние, а 1 – левосторонние
Пример: ADD (2, 54, "+" ). ADD(x,y)x+y
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Определения: Канонизатор – С++ функция или система переписывающих правил которая строит каноническую форму. Отметка – тип данных APS, который определяется так: MARK <имя>(<арность>[,<приоритет>[,<>[,<0 или 1 для арности 2>]]]) и.ф.з для арности 2 и.ф.з – инфиксная форма записи. 0 – дерево для одинаковых вершин – правосторонние, а 1 – левосторонние Пример: ADD (2, 54, "+" ). ADD(x,y)x+y

Слайд 7





ALGEBRAIC PROGRAMMING SYSTEM APS
_can.tbl (описание С++ канонизаторов отметок):
1 строка – количество записей в файле
Оставшиеся строки имеют вид:
<имя>  <имя и.ф.з> <С++ имя> <имя библиотеки>
Пример:
ADD                 add                 add_can 
ADD – имя отметки, которое должно быть определено (std.ap: ADD(2,…))
add – имя введено специально для процедуры markcan (1 add 2)
add_can – имя C++ функции
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS _can.tbl (описание С++ канонизаторов отметок): 1 строка – количество записей в файле Оставшиеся строки имеют вид: <имя> <имя и.ф.з> <С++ имя> <имя библиотеки> Пример: ADD add add_can ADD – имя отметки, которое должно быть определено (std.ap: ADD(2,…)) add – имя введено специально для процедуры markcan (1 add 2) add_can – имя C++ функции

Слайд 8





ALGEBRAIC PROGRAMMING SYSTEM APS
Основная структура данных – правосторонние дерево
Типы данных APS:
Имена,
Отметки,
Целые, вещественные числа, строки,
Атомы
Совет:
Если написанная программа - не работает и Вы нашли место в котором ошибка – проверьте приоритеты операций
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Основная структура данных – правосторонние дерево Типы данных APS: Имена, Отметки, Целые, вещественные числа, строки, Атомы Совет: Если написанная программа - не работает и Вы нашли место в котором ошибка – проверьте приоритеты операций

Слайд 9





ALGEBRAIC PROGRAMMING SYSTEM APS
Имена:
Могут быть глобальные или локальные.
Доступны только с момента объявления.
Локальные имена доступны только до конца файла в котором они объявлены
Объявление глобальных имен:
NAME <имя>[“[“<нат. число>”]”];
Объявление локальных имен:
PRIVATE <имя>[“[“<нат. число>”]”];
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Имена: Могут быть глобальные или локальные. Доступны только с момента объявления. Локальные имена доступны только до конца файла в котором они объявлены Объявление глобальных имен: NAME <имя>[“[“<нат. число>”]”]; Объявление локальных имен: PRIVATE <имя>[“[“<нат. число>”]”];

Слайд 10





ALGEBRAIC PROGRAMMING SYSTEM APS
Примеры:
NAME  T;
NAME P[3];
P[1]:=P[3];
PRIVATE P;
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Примеры: NAME T; NAME P[3]; P[1]:=P[3]; PRIVATE P;

Слайд 11





ALGEBRAIC PROGRAMMING SYSTEM APS
Целые числа – GMP library
Вещественные числа – GMP library, разделитель «.»
Строки – как в С++
Скобки:  [],{}. 
Атомы:
Если это ни один из перечисленных выше типов, тогда это АТОМ.
Явное объявление:
АТОМ <имя>;
Локальные и формальные параметры процедур, считаются именами с областью видимости – тело процедуры.
Если имена пересекаются с локальными или формальными параметрами процедуры, то из тела процедуры не будет доступа к глобальному имени.
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Целые числа – GMP library Вещественные числа – GMP library, разделитель «.» Строки – как в С++ Скобки: [],{}. Атомы: Если это ни один из перечисленных выше типов, тогда это АТОМ. Явное объявление: АТОМ <имя>; Локальные и формальные параметры процедур, считаются именами с областью видимости – тело процедуры. Если имена пересекаются с локальными или формальными параметрами процедуры, то из тела процедуры не будет доступа к глобальному имени.

Слайд 12





ALGEBRAIC PROGRAMMING SYSTEM APS
1 столбик  _proc.tbl – АТОМЫ
Примеры:
prn 1 2  => 1 2
prn(1 2) => 1 2
prn 1;2   => 1
prn(1;2)  => 1;2
APPLMRK – отметка с наивысшим приоритетом в APS.
Круглые скобочки в APS влияют на построение дерева, но в самом дереве они отсутствуют.
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS 1 столбик _proc.tbl – АТОМЫ Примеры: prn 1 2 => 1 2 prn(1 2) => 1 2 prn 1;2 => 1 prn(1;2) => 1;2 APPLMRK – отметка с наивысшим приоритетом в APS. Круглые скобочки в APS влияют на построение дерева, но в самом дереве они отсутствуют.

Слайд 13





ALGEBRAIC PROGRAMMING SYSTEM APS
1 столбик _can.tbl – имена ОТМЕТОК
prn 1+2 => 1
prn(1+2) =>3
can_tbl.tbl:
ADD add add_can
std.ap:
ADD( 2, 54, "+")
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS 1 столбик _can.tbl – имена ОТМЕТОК prn 1+2 => 1 prn(1+2) =>3 can_tbl.tbl: ADD add add_can std.ap: ADD( 2, 54, "+")

Слайд 14





ALGEBRAIC PROGRAMMING SYSTEM APS
Пример канонизатора на APLAN:
INCLUDE <std.ap>
INCLUDE <gen_obj.ap>
MARK myADD(2,54,”+!”);
NAME R;
R:=rs(x,y)(
   x+!y=x+y
);
task:= markcan(()+!(),R),prn (1+!2);
Попробуйте сделать канонизатор для GCD
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Пример канонизатора на APLAN: INCLUDE <std.ap> INCLUDE <gen_obj.ap> MARK myADD(2,54,”+!”); NAME R; R:=rs(x,y)( x+!y=x+y ); task:= markcan(()+!(),R),prn (1+!2); Попробуйте сделать канонизатор для GCD

Слайд 15





ALGEBRAIC PROGRAMMING SYSTEM APS
Файл std.ap:
Определение основных отметок для выражений и операторов
Определение  точки входа в программу.
Если не подключить std.ap, то канонизаторы отметок описанные в can_tbl.tbl работать не будут (Например + - будет атомом, а не инфиксной формой записи некой отметки).
Минимальная программа APS:
NAME task;
task:=prn “Hello world”;
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Файл std.ap: Определение основных отметок для выражений и операторов Определение точки входа в программу. Если не подключить std.ap, то канонизаторы отметок описанные в can_tbl.tbl работать не будут (Например + - будет атомом, а не инфиксной формой записи некой отметки). Минимальная программа APS: NAME task; task:=prn “Hello world”;

Слайд 16





ALGEBRAIC PROGRAMMING SYSTEM APS
Файл gen_obj.ap – дополнительные определения отметок + compile.
Правило интерпретации оператора APS:
Вызов процедуры, описанной в proc_tbl.tbl
Вызов канонизатора, если он установлен для верхней отметки дерева
В противном случае APS вызывает систему переписывающих правил compile
Если оператора нет и в compile – сообщение об ошибке и продолжение работы.
Расширение языков возможностей APS проходит в compile 
Подключение gen_obj.ap существенно упрощает процесс разработки на APS
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Файл gen_obj.ap – дополнительные определения отметок + compile. Правило интерпретации оператора APS: Вызов процедуры, описанной в proc_tbl.tbl Вызов канонизатора, если он установлен для верхней отметки дерева В противном случае APS вызывает систему переписывающих правил compile Если оператора нет и в compile – сообщение об ошибке и продолжение работы. Расширение языков возможностей APS проходит в compile Подключение gen_obj.ap существенно упрощает процесс разработки на APS

Слайд 17





ALGEBRAIC PROGRAMMING SYSTEM APS
Стратегия – некая процедура, которая реализует некий обход дерева с применением системы переписывающих правил.
Файл strat.ap –определения различных стратегий стратегий(некоторые из них в комментарии, т.к. перенесены на С++, можно их откомментировать – тогда они будут использоваться. Почему?)
Процесс разработки на APS:
Прототип на APLAN => анализ прототипа и его усовершенствование => реализация С++
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Стратегия – некая процедура, которая реализует некий обход дерева с применением системы переписывающих правил. Файл strat.ap –определения различных стратегий стратегий(некоторые из них в комментарии, т.к. перенесены на С++, можно их откомментировать – тогда они будут использоваться. Почему?) Процесс разработки на APS: Прототип на APLAN => анализ прототипа и его усовершенствование => реализация С++

Слайд 18





ALGEBRAIC PROGRAMMING SYSTEM APS
Джентльменский набор файлов APS:
aps.exe
intlib.dll
intlib_can.tbl
intlib_proc.tbl
sublib.dll
sublib_proc.tbl
usrlib.dll
usrlib_can.tbl
usrlib_proc.tbl
std.ap
gen_obj.ap
strat.ap
Описание слайда:
ALGEBRAIC PROGRAMMING SYSTEM APS Джентльменский набор файлов APS: aps.exe intlib.dll intlib_can.tbl intlib_proc.tbl sublib.dll sublib_proc.tbl usrlib.dll usrlib_can.tbl usrlib_proc.tbl std.ap gen_obj.ap strat.ap



Похожие презентации
Mypresentation.ru
Загрузить презентацию