syn::Rule Class Reference

A program rule. More...

#include <basic.h>

Inheritance diagram for syn::Rule:

Inheritance graph
[legend]
Collaboration diagram for syn::Rule:

Collaboration graph
[legend]

List of all members.

Public Member Functions

const AtomgetBodyAtom (size_t i) const
 Get body atom.
const string & getConstraint () const
 Get rule constraint.
const AtomgetHead () const
 Get rule head atom.
 Rule (const string &rule="")
 Constructor.
void set (const string &rule)
 Set the rule.
size_t size () const
 Get number of atoms in the body.
string to_string () const
 Get string representation.
Type::TypeSystem typeSystem (const vector< Mode * > &modes) const
 Return which type system is used.
virtual ~Rule ()
 Destructor.

Static Private Member Functions

static string _parse_body (const char *head)

Private Attributes

vector< Atom * > body
 Array of body atoms.
string constraint
 Constraint.
Atom head
 Head.

Friends

ostream & operator<< (ostream &o, const Rule &m)
 Output to a stream.


Detailed Description

A program rule.


Constructor & Destructor Documentation

syn::Rule::Rule ( const string &  rule = ""  )  [inline]

Constructor.

virtual syn::Rule::~Rule (  )  [inline, virtual]

Destructor.


Member Function Documentation

static string syn::Rule::_parse_body ( const char *  head  )  [inline, static, private]

const Atom* syn::Rule::getBodyAtom ( size_t  i  )  const [inline]

Get body atom.

const string& syn::Rule::getConstraint (  )  const [inline]

Get rule constraint.

const Atom* syn::Rule::getHead (  )  const [inline]

Get rule head atom.

void syn::Rule::set ( const string &  rule  )  [inline]

Set the rule.

size_t syn::Rule::size (  )  const [inline]

Get number of atoms in the body.

string syn::Rule::to_string (  )  const [inline]

Get string representation.

Type::TypeSystem syn::Rule::typeSystem ( const vector< Mode * > &  modes  )  const [inline]

Return which type system is used.


Friends And Related Function Documentation

ostream& operator<< ( ostream &  o,
const Rule m 
) [friend]

Output to a stream.


Member Data Documentation

vector<Atom *> syn::Rule::body [private]

Array of body atoms.

string syn::Rule::constraint [private]

Constraint.

Atom syn::Rule::head [private]

Head.


The documentation for this class was generated from the following file:
Generated on Sun Nov 23 14:52:46 2008 for Typing linear constraints by  doxygen 1.5.4