Это команда abl, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
ABL - Префиксное представление для логических функций
ОПИСАНИЕ
libablmmm.a - это библиотека, которая позволяет представлять логическую функцию в LISP-подобной форме.
ABL - это внутреннее представление с префиксом для логической функции, имеющей стандартную
операторы OR, NOR, NAND, XOR, NOT и AND. ABL состоит только из дублетов. Дублет
состоит из двух полей, доступных функциональному #define АВТОМОБИЛЬ и CDR,
дублет реализован с помощью МБК цепочка_список.
Выражение - общий термин для логической функции, представленной ABL. Выражение
может быть атомарным выражением или операторным выражением. Функция f = a представлен
атомарным выражением, тогда как f = (или a b) представлен операторным выражением. An
атомарное выражение состоит из единственного дублета, имеющего ДАЛЕЕ указатель равный NULL и
ДАННЫЕ указатель, равный указателю идентификатора. Постоянное атомарное выражение - это атомарное
выражение, имеющее строку «0» или «1» в качестве идентификатора.
Операторное выражение сложнее атомарного. Это список
items, первый элемент является оператором заголовка выражения, а следующие элементы
аргументы выражения. Можно пройти через аргументы, вызвав
функциональный #define CDR. Тогда каждый аргумент доступен функциональному #define АВТОМОБИЛЬ.
Аргумент может быть рекурсивно атомарным или операторным выражением. Арность
Операторное выражение - это количество аргументов первого уровня.
Функции разделены на две группы, функции нижнего уровня записываются с #define
и используются для управления внутренней формой ABL, функции высокого уровня используются для управления
логические выражения. Все функции определены в файле "prefbib.c" (#define in
"logmmm.h").
Функциональный #define
ATOM - проверяет вид выражения (атомарное или операторное выражение).
АВТОМОБИЛЬ - возвращает ДАННЫЕ указатель дуплета.
КАДР - возвращает ДАННЫЕ указатель ДАЛЕЕ указатель дуплета.
CDR - возвращает ДАЛЕЕ указатель дуплета.
ОПЕРАЦИЯ - возвращает номер оператора выражения оператора.
VALUE_ATOM - возвращает связанный колесница * атомарного выражения.
функции и Процедуры
добавитьHExpr - добавляет новые аргументы в начало выражения оператора.
добавитьQExpr - добавляет новые аргументы в очередь операторного выражения.
любое выражение - возвращает значение логического ИЛИ, примененного к результатам
применение функции к аргументам операторного выражения.
изменитьOperExpr - изменяет оператор заголовка выражения.
charToOper - преобразует строку оператора в номер оператора.
копиэкспр - копирует выражение.
создать атом - создает атомарное выражение.
создатьBinExpr - создает выражение бинарного оператора с возможным слиянием
оператор.
создатьExpr - создает заголовок операторного выражения.
удалитьNumExpr - удаляет i-й аргумент в операторном выражении.
devXor2Expr - преобразует XOR 2 в OR-AND.
devXorExpr - удаляет XOR в выражении.
displayExpr - отображает выражение в обозначении с префиксом.
дисплейинфэкспр - отображает выражение в инфиксной записи.
равное выражение - проверяет, что два выражения строго равны.
равноVarExpr - проверяет, что два выражения синтаксически равны.
каждыйвыражение - возвращает значение логического И, примененного к результатам
применение функции к аргументам операторного выражения.
exprToChar - преобразует выражение в строку.
charToExpr - преобразует строку в выражение.
квартираArityExpr - сглаживает операторы выражения.
квартираПолярностьExpr - переводит инверторы выражения на уровень атомарного
выражения.
бесплатное выражение - освобождает выражение.
identityExpr - дает идентификатор из операторного выражения.
длинаExpr - возвращает количество аргументов в выражении.
картаCarExpr - создает новое выражение, применяя функцию ко всем аргументам
операторное выражение.
MapExpr - применяет процедуру ко всем аргументам операторного выражения.
максэкспр - возвращает наивысший аргумент операторного выражения.
минэкспр - возвращает наименьший аргумент операторного выражения.
нормэкспр - нормализует выражение.
неэкспр - дополняет выражение и, в конечном итоге, упрощает.
числоAtomExpr - возвращает количество атомов в выражении.
числоOccExpr - возвращает количество раз, когда атом появляется в выражении.
числоOperBinExpr - возвращает количество эквивалентных бинарных операторов в выражении.
оперточар - преобразует номер оператора в строку оператора.
профЭкспр - возвращает глубину выражения.
профАОЭкспр - возвращает глубину выражения без включения инверторов
счет.
поискExpr - ищет в выражении конкретный атом.
поискNumExpr - выбирает i-й аргумент в операторном выражении.
поискOperExpr - ищет оператор в выражении.
simpleif10Expr - упрощает выражение, включая постоянный атомарный
выражения.
simpleifNotExpr - упрощает выражение, включая инверторы.
sortExpr - сортирует выражение.
substExpr - копирует выражение, заменяя данный атом выражением.
substPhyExpr - заменяет атомарное выражение выражением внутри
выражение.
supportChain_listExpr
- возвращает поддержку выражения в цепочка_список.
supportPtype_listExpr
- возвращает поддержку выражения в ptype_list.
wPMExpr - возвращает 1, если соответствие с образцом возможно между двумя
выражения.
Используйте abl в Интернете с помощью сервисов onworks.net