Questo è il comando abl che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
abl - Rappresentazione prefissata per funzioni booleane
DESCRIZIONE
libabmmmm.a è una libreria che permette di rappresentare una funzione booleana in una forma simile a LISP.
Un ABL è una rappresentazione interna prefissata per una funzione booleana avente standard
operatori come OR,NOR,NAND,XOR,NOT e AND. Un ABL è composto solo da doppietti. Un doppietto è
composto da due campi accessibili dalla funzione #define AUTO e CDR. UN
doppietto è implementato con un MBK lista_catena.
Espressione è il termine generico per una funzione booleana rappresentata da un ABL. Un espressione
può essere un'espressione atomica o un'espressione operatore. La funzione f = a è rappresentato
da un'espressione atomica mentre f = (o a b) è rappresentato da un'espressione di operatore. Un
l'espressione atomica è costituita da un singolo doppietto avente la AVANTI puntatore uguale a NULL e
DATA puntatore uguale al puntatore identificatore. Un'espressione atomica costante è un atomico
espressione avente la stringa "'0'" o "'1'" come identificatore.
Un'espressione di operatore è più complicata di un'espressione atomica. È un elenco di
elementi, il primo elemento è l'operatore principale dell'espressione e gli elementi seguenti sono
gli argomenti dell'espressione È possibile approfondire gli argomenti chiamando il
funzionale #define CDR. Quindi ogni argomento è accessibile dal functionnal #define AUTO.
Un argomento può essere ricorsivamente un'espressione atomica o di un operatore. L'arità di an
espressione dell'operatore è il numero di argomenti del primo livello.
Le funzioni sono divise in due gruppi, le funzioni di basso livello sono scritte con #define
e servono per gestire il modulo interno ABL, le funzioni di alto livello servono per gestire
le espressioni booleane. Tutte le funzioni sono definite nel file "prefbib.c" (#define in
"logmmm.h").
Funzionale #define
ATOM - verifica il tipo di espressione (espressione atomica o operatore).
AUTO - restituisce il DATA puntatore di un doppietto.
CADR - restituisce il DATA puntatore del AVANTI puntatore di un doppietto.
CDR - restituisce il AVANTI puntatore di un doppietto.
OPERA - restituisce il numero dell'operatore di un'espressione di operatore.
VALUE_ATOMO - restituisce l'associato serbatoio * di un'espressione atomica.
funzioni e procedure
addHEspr - aggiunge un nuovo argomento all'inizio dell'espressione di un operatore.
addQEspr - aggiunge un nuovo argomento alla coda di un'espressione di operatore.
qualsiasi Espr - restituisce il valore di un OR logico applicato sui risultati del
applicazione di una funzione sugli argomenti di un'espressione di operatore.
cambiaEspr - cambia l'operatore della testa di un'espressione.
charToOper - converte una stringa di operatore in un numero di operatore.
copiaEspr - copia un'espressione.
creareAtom - crea un'espressione atomica.
creaBinExpr - crea un'espressione di operatore binario con un'eventuale fusione di
operatore.
creaEspr - crea la testa di un'espressione operatore.
eliminaEspr.Numero - rimuove l'i-esimo argomento in un'espressione di operatore.
devXor2Expr - converte XOR 2 in OR-AND.
devXorExpr - rimuove XOR in un'espressione.
displayEspr - visualizza un'espressione in una notazione prefissata.
displayEspr - visualizza un'espressione in notazione fissa.
ugualeEspr - verifica che due espressioni siano strettamente uguali.
ugualeVarEspr - verifica che due espressioni siano sintatticamente uguali.
ogniEspr - restituisce il valore di un AND logico applicato sui risultati del
applicazione di una funzione sugli argomenti di un'espressione di operatore.
exprToChar - converte un'espressione in una stringa.
charToEspr - converte una stringa in un'espressione.
appartamentoArityExpr - appiattisce gli operatori di un'espressione.
flatPolarityExpr - traduce gli invertitori di un'espressione al livello di atomico
espressioni.
liberoEspr - libera un'espressione.
identEspr - fornisce un identificatore da un'espressione di operatore.
lunghezzaEspr - restituisce il numero di argomenti in un'espressione.
mappaCarExpr - crea una nuova espressione applicando una funzione a tutti gli argomenti di
un'espressione di operatore.
mappaEspr - applica una procedura a tutti gli argomenti di un'espressione di operatore.
max espr - restituisce l'argomento più alto di un'espressione di operatore.
minEspr - restituisce l'argomento più basso di un'espressione di operatore.
normaEspr - normalizza un'espressione.
notEspr - integra un'espressione e alla fine fa una semplificazione.
numeroAtomExpr - restituisce il numero di atomi in un'espressione.
numeroOccExpr - restituisce il numero di volte in cui un atomo appare in un'espressione.
numeroOperBinExpr - restituisce il numero di operatori binari equivalenti in un'espressione.
operaToChar - converte un numero di operatore in una stringa di operatore.
profEspr - restituisce la profondità di un'espressione.
profAOExpr - restituisce la profondità di un'espressione senza prendere in considerazione gli inverter
conto.
ricercaEspr - cerca un atomo specifico in un'espressione.
cercaNumEspr - recupera l'i-esimo argomento in un'espressione di operatore.
cercaOperExpr - cerca un operatore in un'espressione.
simplif10Espr - fa semplificazioni su un'espressione inclusa la costante atomica
espressioni.
simplifNotExpr - fa delle semplificazioni su un'espressione includendo gli inverter.
sortEspr - ordina un'espressione.
espr - copia un'espressione sostituendo un dato atomo con un'espressione.
substPhyEspr - sostituisce un'espressione atomica con un'espressione all'interno di an
espressione.
supportChain_listEspr
- restituisce il supporto di un'espressione in a lista_catena.
supportPtype_listExpr
- restituisce il supporto di un'espressione in a lista_tipo.
wPMEspr - restituisce 1 se il pattern matching è possibile tra due
espressioni.
Utilizzare abl online utilizzando i servizi onworks.net