Це команда abl, яку можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.
ПРОГРАМА:
ІМ'Я
абл - Подання з префіксом для булевих функцій
ОПИС
libablmmm.a це бібліотека, яка дозволяє представляти булеву функцію у формі, подібній до LISP.
ABL — це внутрішнє представлення з префіксом для булевої функції, що має стандарт
Оператори, як АБО, НІ, НІ, XOR, НЕ та І. ABL складається лише з дублетів. Дублет є
складається з двох полів, доступних для функціоналу #визначити АВТОМОБІЛЬ та CDR.
дублет реалізований за допомогою MBK список_ланцюгів.
вираз це загальний термін для булевої функції, представленої ABL. Вираз
може бути атомарним виразом або виразом оператора. Функція f = a представляється
за атомарним виразом, тоді як f = (Або a b) представлено операторним виразом. An
атомна експресія складається з одного дублета, що має НАСТУПНИЙ покажчик дорівнює NULL і
ДАНІ покажчик дорівнює покажчику ідентифікатора. Постійний атомний вираз є атомним
вираз, що має рядок "'0'" або "'1'" як ідентифікатор.
Операторний вираз є складнішим, ніж атомарний вираз. Це список
елементів, перший елемент є оператором заголовка виразу, а наступні елементи є
аргументи виразу. Можна переглянути аргументи, зателефонувавши
функціональний #визначити CDR. Тоді кожен аргумент доступний для функціоналу #визначити АВТОМОБІЛЬ.
Аргумент може бути рекурсивно атомарним або операторним виразом. Арити ан
операторний вираз - це кількість аргументів першого рівня.
Функції поділяються на дві групи, функції низького рівня записуються #визначити
і використовуються для управління внутрішньою формою ABL, функції високого рівня використовуються для управління
логічні вирази. Усі функції визначені у файлі "prefbib.c" (#визначити in
"logmmm.h").
Функціональний #визначити
ATOM - перевіряє тип виразу (атомарний або операторний вираз).
АВТОМОБІЛЬ - повертає ДАНІ покажчик дублета.
CADR - повертає ДАНІ покажчик НАСТУПНИЙ покажчик дублета.
CDR - повертає НАСТУПНИЙ покажчик дублета.
OPER - повертає номер оператора виразу оператора.
VALUE_ATOM - повертає пов'язаний бак * атомного виразу.
Функції та Процедури
addHEexpr - додає нові аргументи на початку операторного виразу.
addQExpr - додає нові аргументи в чергу операторного виразу.
anyExpr - повертає значення логічного АБО, застосованого до результатів
застосування функції до аргументів операторного виразу.
змінаOperExpr - змінює оператор голови виразу.
charToOper - перетворює рядок оператора в номер оператора.
copyExpr - копіює вираз.
createAtom - створює атомарний вираз.
createBinExpr - створює вираз двійкового оператора з можливим злиттям
оператор.
createExpr - створює заголовок операторного виразу.
deleteNumExpr - видаляє i-ий аргумент у операторному виразі.
devXor2Expr - перетворює XOR 2 в OR-AND.
devXorExpr - видаляє XOR у виразі.
displayExpr - відображає вираз у префіксній нотації.
displayInfExpr - відображає вираз у нефіксованому позначенні.
рівнийвираз - перевіряє, що два вирази суворо рівні.
дорівнюєVarExpr - перевіряє синтаксично рівність двох виразів.
кожнийExpr - повертає значення логічного І, застосованого до результатів
застосування функції до аргументів операторного виразу.
exprToChar - перетворює вираз у рядок.
charToExpr - перетворює рядок у вираз.
flatArityExpr - вирівнює оператори виразу.
flatPolarityExpr - переводить інвертори виразу на рівень атомарного
вирази.
freeExpr - звільняє вираз.
identExpr - дає ідентифікатор з операторного виразу.
lengthExpr - повертає кількість аргументів у виразі.
mapCarExpr - створює новий вираз, застосовуючи функцію до всіх аргументів
операторний вираз.
mapExpr - застосовує процедуру до всіх аргументів операторного виразу.
maxExpr - повертає найвищий аргумент операторного виразу.
minExpr - повертає найнижчий аргумент операторного виразу.
normExpr - нормалізує вираз.
notExpr - доповнює вираз і в кінцевому підсумку робить спрощення.
numberAtomExpr - повертає кількість атомів у виразі.
числоOccExpr - повертає кількість часу, коли атом з’являється у виразі.
номерOperBinExpr - повертає кількість еквівалентних двійкових операторів у виразі.
operToChar - перетворює номер оператора в рядок оператора.
профЕкспр - повертає глибину виразу.
профАОЕкспр - повертає глибину виразу без використання інверторів
рахунок.
searchExpr - шукає певний атом у виразі.
searchNumExpr - витягує i-й аргумент у операторному виразі.
searchOperExpr - шукає оператор у виразі.
simplif10Expr - робить спрощення виразу, включаючи константу атомарного
вирази.
simplifNotExpr - спрощує вираз, включаючи інвертори.
sortExpr - сортує вираз.
substExpr - копіює вираз шляхом заміни заданого атома на вираз.
substPhyExpr - замінює атомарний вираз виразом всередині an
вираз.
supportChain_listExpr
- повертає підтримку виразу в a список_ланцюгів.
supportPtype_listExpr
- повертає підтримку виразу в a ptype_list.
wPMExpr - повертає 1, якщо узгодження шаблону можливе між двома
вирази.
Використовуйте abl онлайн за допомогою служб onworks.net