これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドablです。
プログラム:
NAME
abl - ブール関数の接頭辞付き表現
DESCRIPTION
libabmmmm.a は、LISP のような形式でブール関数を表現できるライブラリです。
ABL は、標準のブール関数の接頭辞付き内部表現です。
OR、NOR、NAND、XOR、NOT、AND などの演算子。 ABL はダブレットのみで構成されます。 ダブレットというのは、
関数からアクセスできる XNUMX つのフィールドで構成されます。 #定義する 車 と のCDR。 A
ダブレットは MBK で実装されます チェーンリスト.
表現 ABLで表現されるブール関数の総称です。 表現
アトミック式または演算子式を指定できます。 関数 f = a が表されます
アトミック表現によるのに対し、 f = (または a b) 演算子式で表されます。 アン
アトミック式は、次の要素を持つ単一のダブレットで構成されます。 次の ポインタが NULL に等しい、かつ
DATA ポインタは識別子ポインタと同じです。 定数のアトミック式はアトミックです
文字列 "'0'" または "'1'" を識別子として持つ式。
演算子式はアトミック式よりも複雑です。 のリストです
項目。最初の項目は式の先頭演算子で、次の項目は次のとおりです。
式の引数。 を呼び出すことで引数を調べることができます。
機能的な #定義する のCDR。 その後、関数から各引数にアクセスできるようになります。 #定義する 車.
引数は再帰的にアトミックまたは演算子式にすることができます。 のアリティ
演算子式は、第 XNUMX レベルの引数の数です。
関数は XNUMX つのグループに分けられ、低レベル関数は次のように記述されます。 #定義する
ABL 内部フォームの管理に使用され、高レベル関数は管理に使用されます。
ブール式。 すべての関数はファイル "prefbib.c" (#定義する in
"logmmm.h")。
機能的 #定義する
ATOM - 式の種類 (アトミック式または演算子式) をチェックします。
車 - を返します DATA ダブレットのポインタ。
CADR - を返します DATA のポインタ 次の ダブレットのポインタ。
のCDR - を返します 次の ダブレットのポインタ。
運営 - 演算子式の演算子番号を返します。
VALUE_ATOM - 関連付けられたものを返します チャリオット * アトミック式の。
機能 と 手続き
addHExpr - 演算子式の先頭に新しい引数を追加します。
addQExpr - 演算子式のキューに新しい引数を追加します。
任意の式 - の結果に適用される論理 OR の値を返します。
演算子式の引数に対する関数の適用。
ChangeOperExpr - 式の先頭の演算子を変更します。
charToOper - 演算子文字列を演算子番号に変換します。
コピー式 - 式をコピーします。
アトムの作成 - アトミック式を作成します。
createBinExpr - 最終的に結合する二項演算子式を作成します。
オペレータ。
作成Expr - 演算子式の先頭を作成します。
deleteNumExpr - 演算子式の i 番目の引数を削除します。
devXor2Expr - XOR 2 を OR-AND に変換します。
devXorExpr - 式内の XOR を削除します。
表示式 - 式を接頭辞付き表記で表示します。
表示InfExpr - 式を中置記法で表示します。
等しい式 - XNUMX つの式が厳密に等しいことをチェックします。
等しい変数Expr - XNUMX つの式が構文的に等しいことをチェックします。
すべてのExpr - の結果に適用される論理 AND の値を返します。
演算子式の引数に対する関数の適用。
exprToChar - 式を文字列に変換します。
charToExpr - 文字列を式に変換します。
flatArityExpr - 式の演算子を平坦化します。
flatPolarityExpr - 式のインバータをアトミックのレベルに変換します。
式。
freeExpr - 表現を自由にします。
identExpr - 演算子式から識別子を与えます。
長さ式 - 式内の引数の数を返します。
地図CarExpr - のすべての引数に関数を適用して新しい式を作成します。
演算子式。
マップエクスプレッション - 演算子式のすべての引数にプロシージャを適用します。
maxExpr - 演算子式の最上位の引数を返します。
minExpr - 演算子式の最下位の引数を返します。
ノルム式 - 式を正規化します。
notExpr - 式を補完し、最終的には単純化を行います。
数値AtomExpr - 式内のアトムの数を返します。
数値OccExpr - 式内にアトムが出現する回数を返します。
数値OperBinExpr - 式内の同等の二項演算子の数を返します。
オペラと文字 - 演算子番号を演算子文字列に変換します。
教授経験 - 式の深さを返します。
教授AOExpr - インバータを考慮せずに式の深さを返します。
アカウント。
検索式 - 式内の特定のアトムを検索します。
searchNumExpr - 演算子式の i 番目の引数を取得します。
searchOperExpr - 式内の演算子を検索します。
simplif10Expr - 定数アトミックを含む式を単純化します。
式。
simplifNotExpr - インバータを含む式を簡略化します。
ソート式 - 式を並べ替えます。
substExpr - 指定されたアトムを式で置き換えることによって式をコピーします。
substPhyExpr - アトミック式を内の式で置き換えます。
式です。
supportChain_listExpr
- 内の式のサポートを返します。 チェーンリスト.
supportPtype_listExpr
- 内の式のサポートを返します。 ptype_list.
wPMExpr - 1 つの間でパターンマッチングが可能な場合は XNUMX を返します。
式。
onworks.net サービスを使用してオンラインで abl を使用する