Main Page | Class List | File List | Class Members | File Members

Fnode Class Reference

Node structure - basically a cons list. More...

#include <tarski.h>

List of all members.

Public Member Functions

Fnodeoperator & (Fnode *)
 Operator overloading for and.
Fnodeoperator| (Fnode *)
 Operator overloading for or.
Fnodeoperator% (Fnode *)
 Operator overloading for defining a pair.
Fnodeoperator^ (Fnode *)
 Operator overloading for xor.
Fnodeoperator== (Fnode *)
 Operator overloading for equality check. Works for scalars and Booleans.
Fnodeoperator<< (Fnode *)
 Operator overloading for <<. Used to tack on the Pair_c of init and NS functions to a register that's been defined previously.
Fnodeoperator! ()
 Operator overloading for !
Fnodeoperator, (Fnode *)
 Operator overloading for ,.

Public Attributes

Operator_t type
Fnodelchild
Fnoderchild


Detailed Description

Node structure - basically a cons list.

A formula is just a node struct.

Definition at line 86 of file tarski.h.


Member Function Documentation

Fnode * Fnode::operator & Fnode q  ) 
 

Operator overloading for and.

Definition at line 377 of file node.c.

References And_c, lchild, new_node_raw(), node_test_is_boolean(), rchild, and rn().

Fnode * Fnode::operator!  ) 
 

Operator overloading for !

Definition at line 414 of file node.c.

References new_node_raw(), nil, node_test_is_boolean(), Not_c, and rn().

Fnode * Fnode::operator% Fnode q  ) 
 

Operator overloading for defining a pair.

Definition at line 479 of file node.c.

References new_node_raw(), node_test_is_boolean(), node_test_is_scalar(), Pair_c, and rn().

Fnode * Fnode::operator, Fnode q  ) 
 

Operator overloading for ,.

Definition at line 399 of file node.c.

Fnode * Fnode::operator<< Fnode q  ) 
 

Operator overloading for <<. Used to tack on the Pair_c of init and NS functions to a register that's been defined previously.

See also:
reg()

Definition at line 667 of file node.c.

References rchild, and type.

Fnode * Fnode::operator== Fnode B  ) 
 

Operator overloading for equality check. Works for scalars and Booleans.

For scalars returns a single node of type Equal_c, for Booleans, creates two nodes, an XOR and a negation.

Definition at line 507 of file node.c.

References Equal_c, lchild, new_node_raw(), node_test_is_boolean(), node_test_is_scalar(), rchild, and rn().

Fnode * Fnode::operator^ Fnode q  ) 
 

Operator overloading for xor.

Definition at line 449 of file node.c.

References lchild, node_test_is_boolean(), and rchild.

Fnode * Fnode::operator| Fnode q  ) 
 

Operator overloading for or.

Definition at line 429 of file node.c.

References lchild, new_node_raw(), node_test_is_boolean(), Or_c, rchild, and rn().


Member Data Documentation

Fnode* Fnode::lchild
 

Definition at line 89 of file tarski.h.

Referenced by AddReadatEnd(), car(), cons(), Func_NextArg(), F::lchild(), Mux_ThenInput(), Net_ConstantPropagation(), Net_DoBryantReduction(), Net_PopulateFields(), new_node_raw(), node_cmp(), node_hash(), F::node_print(), node_register(), operator &(), operator==(), operator^(), and operator|().

Fnode* Fnode::rchild
 

Definition at line 90 of file tarski.h.

Referenced by AddReadatEnd(), cdr(), cons(), Func_FirstArg(), Func_SecondArg(), Func_ThirdArg(), Mux_ElseInput(), Mux_ThenInput(), Net_ConstantPropagation(), Net_DoBryantReduction(), Net_PopulateFields(), new_node_raw(), node_cmp(), node_hash(), F::node_print(), node_register(), operator &(), operator<<(), operator==(), operator^(), operator|(), F::rchild(), Reg_InitFunc(), and Reg_NsFunc().

Operator_t Fnode::type
 

Definition at line 88 of file tarski.h.

Referenced by cons(), Func_FirstArg(), Func_NextArg(), Func_SecondArg(), Func_ThirdArg(), Mux_ElseInput(), Mux_ThenInput(), Net_AnalyzeScalarBitWidth(), Net_CheckBurchFeasibility(), Net_CollectMuxes(), Net_ConstantPropagation(), Net_PopulateFields(), new_node_raw(), node_cmp(), node_hash(), Node_HasLeftChildNode(), Node_HasRightChildNode(), F::node_print(), Node_PrintVHDL(), node_register(), node_test_is_boolean(), node_test_is_scalar(), operator<<(), Reg_InitFunc(), Reg_NsFunc(), and F::type().


The documentation for this class was generated from the following files:
Generated on Thu Oct 11 11:47:29 2007 for Tarski by  doxygen 1.3.9.1