Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ABL(1)			   cao-vlsi reference manual			ABL(1)

NAME
       abl - Prefixed representation for boolean functions

DESCRIPTION
       libablmmm.a  is	a library that enables to represent a boolean function
       in a LISP-like form. An ABL is a	prefixed internal representation for a
       boolean function	having standard	operators as  OR,NOR,NAND,XOR,NOT  and
       AND.  An	 ABL is	only made up of	doublets. A doublet is composed	of two
       fields which are	accessible by the functionnal #define CAR and  CDR.  A
       doublet is implemented with a MBK chain_list.
       Expression is the generic term for a boolean function represented by an
       ABL.  An	 expression can	be an atomic expression	or an operator expres-
       sion. The function f = a	is represented by an atomic expression whereas
       f = (or a b) is represented by an operator expression.  An  atomic  ex-
       pression	 is  made up of	a single doublet having	the NEXT pointer equal
       to NULL and DATA	pointer	equal to the identifier	 pointer.  A  constant
       atomic  expression  is an atomic	expression having the string  "'0'" or
       "'1'" as	identifier.
       An operator expression is more complicated than an  atomic  expression.
       It's  a	list  of items,	the first item is the head operator of the ex-
       pression	and the	following items	are the	arguments of  the  expression.
       It's  possible  to  go  trough the arguments by calling the functionnal
       #define CDR. Then each argument is accessible by	the  functionnal  #de-
       fine  CAR.  An argument can be recursively an atomic or an operator ex-
       pression. The arity of an operator expression is	the  number  of	 argu-
       ments of	the first level.
       Functions  are  divided	into  two  groups, the low level functions are
       written with #define and	are used to manage the ABL internal form,  the
       high  level  functions  are used	to manage the boolean expressions. All
       functions are defined in	the file "prefbib.c" (#define in "logmmm.h").

       Functionnal #define

       ATOM		   - checks the	kind of	an expression (atomic or oper-
			   ator	expression).

       CAR		   - returns the DATA pointer of a doublet.

       CADR		   - returns the DATA pointer of the NEXT pointer of a
			   doublet.

       CDR		   - returns the NEXT pointer of a doublet.

       OPER		   - returns the operator number of  an	 operator  ex-
			   pression.

       VALUE_ATOM	   -  returns  the  associated char * of an atomic ex-
			   pression.

       Functions and procedures

       addHExpr		   - adds a new	arguments at the head of  an  operator
			   expression.

       addQExpr		   -  adds a new arguments at the queue	of an operator
			   expression.

       anyExpr		   - returns the value of a logical OR applied on  the
			   results of the application of a function on the ar-
			   guments of an operator expression.

       changeOperExpr	   -  changes  the  operator of	the head of an expres-
			   sion.

       charToOper	   - converts an operator string into an operator num-
			   ber.

       copyExpr		   - copies an expression.

       createAtom	   - creates an	atomic expression.

       createBinExpr	   - creates a	binary	operator  expression  with  an
			   eventual merging of the operator.

       createExpr	   - creates the head of an operator expression.

       deleteNumExpr	   -  removes the i-th argument	in an operator expres-
			   sion.

       devXor2Expr	   - converts XOR 2 to OR-AND.

       devXorExpr	   - removes XOR in an expression.

       displayExpr	   - displays an expression in a prefixed notation.

       displayInfExpr	   - displays an expression in infixed notation.

       equalExpr	   - checks that two expressions are strictly equal.

       equalVarExpr	   - checks that  two  expressions  are	 syntactically
			   equal.

       everyExpr	   - returns the value of a logical AND	applied	on the
			   results of the application of a function on the ar-
			   guments of an operator expression.

       exprToChar	   - converts an expression into a string.

       charToExpr	   - converts a	string into an expression.

       flatArityExpr	   - flattens the operators of an expression.

       flatPolarityExpr	   -  translates the inverters of an expression	to the
			   level of atomic expressions.

       freeExpr		   - frees an expression.

       identExpr	   - gives an identifier from an operator expression.

       lengthExpr	   - returns the number	of arguments in	an expression.

       mapCarExpr	   - creates a new expression by applying  a  function
			   to all arguments of an operator expression.

       mapExpr		   -  applies  a  procedure to all the arguments of an
			   operator expression.

       maxExpr		   - returns the highest argument of an	 operator  ex-
			   pression.

       minExpr		   -  returns  the  lowest argument of an operator ex-
			   pression.

       normExpr		   - normalizes	an expression.

       notExpr		   - complements an expression and eventually  does  a
			   simplification.

       numberAtomExpr	   - returns the number	of atoms in an expression.

       numberOccExpr	   -  returns the number of time an atom appears in an
			   expression.

       numberOperBinExpr   - returns the number	of equivalent binary operators
			   in an expression.

       operToChar	   - converts an  operator  number  into  an  operator
			   string.

       profExpr		   - returns the depth of an expression.

       profAOExpr	   - returns the depth of an expression	without	taking
			   the inverters into account.

       searchExpr	   - searches for a specific atom in an	expression.

       searchNumExpr	   -  fetches the i-th argument	in an operator expres-
			   sion.

       searchOperExpr	   - searches for an operator in an expression.

       simplif10Expr	   - makes simplifications on an expression  including
			   constant atomic expressions.

       simplifNotExpr	   -  makes simplifications on an expression including
			   inverters.

       sortExpr		   - sorts an expression.

       substExpr	   - copies an expression by substituting a given atom
			   by an expression.

       substPhyExpr	   - substitutes an atomic expression by an expression
			   within an expression.

       supportChain_listExpr
			   -  returns  the  support  of	 an  expression	 in  a
			   chain_list.

       supportPtype_listExpr
			   -  returns  the  support  of	 an  expression	 in  a
			   ptype_list.

       wPMExpr		   - returns 1 if the pattern matching is possible be-
			   tween two expressions.

SEE ALSO
       log(1),	mbk(1),	 addHExpr(3),  addQExpr(3),  anyExpr(3),   changeOper-
       Expr(3),	charToExpr(3), charToOper(3), copyExpr(3), createAtom(3), cre-
       ateBinExpr(3), createExpr(3), deleteNumExpr(3), devXor2Expr(3), devXor-
       Expr(3),	 displayExpr(3),  displayInfExpr(3),  equalExpr(3),  equalVar-
       Expr(3),	everyExpr(3), exprToChar(3),  flatArityExpr(3),	 flatPolarity-
       Expr(3),	 freeExpr(3), identExpr(3), lengthExpr(3), mapCarExpr(3), map-
       Expr(3),	maxExpr(3), minExpr(3),	notExpr(3),  normExpr(3),  numberAtom-
       Expr(3),	 numberOccExpr(3),  numberOperBinExpr(3), operToChar(3), prof-
       Expr(3),	profAOExpr(3),	searchExpr(3),	searchNumExpr(3),  searchOper-
       Expr(3),	  simplif10Expr(3),   simplifNotExpr(3),  sortExpr(3),	subst-
       Expr(3),	substPhyExpr(3), supportChain_listExpr(3),  supportPtype_list-
       Expr(3).	 PMExpr(3).

ASIM/LIP6			October	1, 1997				ABL(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=abl&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help