TermWare
- Дата создания:
- 2002
- Создан под влиянием:
- Парадигма:
- Типизация:
- Принятые расширения файлов:
- .def
- Реализации и версии (свернуть все | развернуть все):
TermWare — система символьных вычислений для разработки динамических приложений на основе правил переписывания. Предназначена для встраивания в другие программные продукты, написанные на Java.
Разработка языка TermWare началась в 2002 году под влиянием языка APLAN. Он должен был решить три основные проблемы существующей системы:
-
изменяющиеся условия внешнего мира. Взаимодействие с окружающей средой моделируется не побочными эффектами, а в явном виде, при помощи правил вида
x [ input ] -> y [ output ]
, гдеinput
— запрос информации из внешней среды, аoutput
— действия. Такие правила позволяют описывать поведение программы в терминах реакции на внешние стимулы. - интеграция с другими программами. TermWare реализован на Java и с одной стороны, может использовать существующие библиотеки платформы, а с другой, легко встраивается в любые системы, построенные на JVM, при помощи TermWare API.
- среда проектирования — в TermWare включены объектно-ориентированные средства организации информации — наследование и иерархические пространства имен.
TermWare разрабатывается компанией GradSoft.
TermWare используется в основном для символьных вычислений и преобразований символьных моделей. В частности, существуют плагины для преобразования исходных кодов на Java и graphwiz в системы термов.
Элементы синтаксиса:
Комментарий до конца строки | # |
---|---|
Регистрозависимость | да |
Регулярное выражение идентификатора переменной | \$[a-b|A-B|0-9|_]+ |
Регулярное выражение идентификатора функции | [a-b|A-B|0-0_]+ |
Группировка выражений | ( .... ) |
Равенство | == |
Неравенство | != |
Сравнение | <, >, = |
Вызов функции | вызов системы: x.y, apply(x,y) |
Вызов функции без параметров | c |
Если - то | как правило: x [c] -> y[a] и как выражение: x ? y : z |
Если - то - иначе | правило: x [c] -> y[a] | [c1] -> y1[a1] ... !-> yLast [aLast] |
Комментарии
]]>blog comments powered by Disqus
]]>