# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

NLAISCRIPT::IConstraint Class Reference

Class IConstraint. More...

#include <constraint.h>

Inheritance diagram for NLAISCRIPT::IConstraint

Inheritance graph
[legend]
Collaboration diagram for NLAISCRIPT::IConstraint:

Collaboration graph
[legend]
List of all members.

Public Types

enum  ConstraintTypeEnum {
  constraintMethode,
  constraintChkMethodeType,
  operandSimple,
  operandSimpleListOr,
  operandVoid,
  operandUnknown,
  operationType,
  operationTypeGD,
  operandListType,
  constraintStackComp,
  constraintDebug,
  constraintFindRun
}
 This enum define all IConstraint class type defined. More...


Public Methods

 IConstraint ()
virtual void run (CCompilateur &) = 0
 Run with a CCompilateur dependency.

virtual void run (IConstraint *) = 0
 Run with a IConstraint dependency.

virtual bool satisfied () = 0
 If the constraint is resolved.

virtual void addIndex (int n,CCodeBrancheRun *opcodePtr) = 0
 Add a op-code dependency. More...

virtual ConstraintTypeEnum getTypeOfClass () const = 0
 get the type of class. the type must be in the ConstraintTypeEnum enumeration.

virtual void getError (char *) const = 0
 get an error string when the constraint is'nt stisfied.

virtual int getLine () const = 0
 get the line of the expression that it have to be resolve by constraint in the code source.

virtual int getColone () const = 0
 get the colone of the expression that it have to be resolve by constraint in the code source.

virtual bool operator== (const IConstraint &) const = 0
virtual const NLAIC::CIdentTypegetConstraintTypeOf () = 0
 Type of the expression that it have to be resolve by constraint.

virtual const IConstraint* clone () const = 0
 Get a clone pointer memory.

virtual const char* getInfo () = 0
 Get a string info.

virtual bool dependOn (const IConstraint *) const = 0
 If this constraint depond on other constraint.

void addConstraint (IConstraint *c)
 Add a constraint dependency. We add a constraint dependency when a given constraint want the result of an other constraint. More...

void popConstraint (IConstraint *c)
 pop the last constaint dependency. More...

void runConnexcion ()
 When a constraint is resoved,we call all dependency. More...

virtual ~IConstraint ()

Private Attributes

std::list<IConstraint *> _ConstraintList
 List of constraint dependency. When constraint is resolve it call all constraint contain in this list and run its. More...


Detailed Description

Class IConstraint.

This class is a abstract class used for all back prossing work needed for the compiler. Earlier than do multy passing parssing, we chose to push all expression needed to be clarify in a list of IConstraint where its can auto-call them self.

Author(s):
Chafik sameh , Nevrax France
Date:
2000

Definition at line 129 of file constraint.h.


Member Enumeration Documentation

enum NLAISCRIPT::IConstraint::ConstraintTypeEnum
 

This enum define all IConstraint class type defined.

That is'nt very clean because it is'nt very objects way to do jobs but that make easy to make job with out make heavy the hisarchy class. Because the best way is to derive class form NLAIC::IBasicInterface but we have to register class in class factory, define a save an load ..., in short make a lot of work for an internal work. If later peopole need this kind of class we'll clean it.

Enumeration values:
constraintMethode   Class CConstraintMethode.
constraintChkMethodeType   Class CConstraintChkMethodeType.
operandSimple   Class COperandSimple.
operandSimpleListOr   class COperandSimpleListOr.
operandVoid   Class COperandVoid.
operandUnknown   Class COperandUnknown.
operationType   Class COperationType.
operationTypeGD   Class COperationTypeGD.
operandListType   Class COperandListType.
constraintStackComp   Class CConstraintStackComp.
constraintDebug   Class CConstraintDebug.
constraintFindRun   Class CConstraintFindRun.

Definition at line 138 of file constraint.h.


Constructor & Destructor Documentation

NLAISCRIPT::IConstraint::IConstraint ( ) [inline]
 

Definition at line 171 of file constraint.h.

NLAISCRIPT::IConstraint::~IConstraint ( ) [inline, virtual]
 

Definition at line 222 of file constraint.h.


Member Function Documentation

void NLAISCRIPT::IConstraint::addConstraint ( IConstraint * c ) [inline]
 

Add a constraint dependency. We add a constraint dependency when a given constraint want the result of an other constraint.

Definition at line 205 of file constraint.h.

void NLAISCRIPT::IConstraint::addIndex ( int i,
CCodeBrancheRun * c ) [pure virtual]
 

Add a op-code dependency.

the integer n is the index of the opcode in in the opcodePtr pointer.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintChkMethodeType, and NLAISCRIPT::IOpType.

const IConstraint * NLAISCRIPT::IConstraint::clone ( void ) const [pure virtual]
 

Get a clone pointer memory.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintFindRun, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, NLAISCRIPT::COperandVoid, NLAISCRIPT::COperandSimple, NLAISCRIPT::COperandSimpleListOr, NLAISCRIPT::COperandUnknown, NLAISCRIPT::COperationType, NLAISCRIPT::COperationTypeGD, and NLAISCRIPT::COperandListType.

bool NLAISCRIPT::IConstraint::dependOn ( const IConstraint * c ) const [pure virtual]
 

If this constraint depond on other constraint.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, NLAISCRIPT::COperandVoid, NLAISCRIPT::COperandSimple, NLAISCRIPT::COperandSimpleListOr, NLAISCRIPT::COperandUnknown, NLAISCRIPT::COperationType, NLAISCRIPT::COperationTypeGD, and NLAISCRIPT::COperandListType.

int NLAISCRIPT::IConstraint::getColone ( ) const [pure virtual]
 

get the colone of the expression that it have to be resolve by constraint in the code source.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, and NLAISCRIPT::IOpType.

const NLAIC::CIdentType * NLAISCRIPT::IConstraint::getConstraintTypeOf ( ) [pure virtual]
 

Type of the expression that it have to be resolve by constraint.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, NLAISCRIPT::COperandVoid, NLAISCRIPT::COperandSimple, NLAISCRIPT::COperandSimpleListOr, NLAISCRIPT::COperandUnknown, NLAISCRIPT::COperationType, NLAISCRIPT::COperationTypeGD, and NLAISCRIPT::COperandListType.

void NLAISCRIPT::IConstraint::getError ( char * txt ) const [pure virtual]
 

get an error string when the constraint is'nt stisfied.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, and NLAISCRIPT::IOpType.

const char * NLAISCRIPT::IConstraint::getInfo ( ) [pure virtual]
 

Get a string info.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, NLAISCRIPT::COperandVoid, NLAISCRIPT::COperandSimple, NLAISCRIPT::COperandSimpleListOr, NLAISCRIPT::COperandUnknown, NLAISCRIPT::COperationType, NLAISCRIPT::COperationTypeGD, and NLAISCRIPT::COperandListType.

int NLAISCRIPT::IConstraint::getLine ( ) const [pure virtual]
 

get the line of the expression that it have to be resolve by constraint in the code source.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, and NLAISCRIPT::IOpType.

ConstraintTypeEnum NLAISCRIPT::IConstraint::getTypeOfClass ( ) const [pure virtual]
 

get the type of class. the type must be in the ConstraintTypeEnum enumeration.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintFindRun, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, NLAISCRIPT::COperandVoid, NLAISCRIPT::COperandSimple, NLAISCRIPT::COperandSimpleListOr, NLAISCRIPT::COperandUnknown, NLAISCRIPT::COperationType, NLAISCRIPT::COperationTypeGD, and NLAISCRIPT::COperandListType.

virtual bool NLAISCRIPT::IConstraint::operator== ( const IConstraint & c ) const [pure virtual]
 

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, NLAISCRIPT::COperandVoid, NLAISCRIPT::COperandSimple, NLAISCRIPT::COperandSimpleListOr, NLAISCRIPT::COperandUnknown, NLAISCRIPT::COperationType, NLAISCRIPT::COperationTypeGD, and NLAISCRIPT::COperandListType.

void NLAISCRIPT::IConstraint::popConstraint ( IConstraint * c )
 

pop the last constaint dependency.

Definition at line 32 of file constraint.cpp.

void NLAISCRIPT::IConstraint::run ( IConstraint * c ) [pure virtual]
 

Run with a IConstraint dependency.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, NLAISCRIPT::IOpType, NLAISCRIPT::COperandUnknown, NLAISCRIPT::COperationType, and NLAISCRIPT::COperationTypeGD.

void NLAISCRIPT::IConstraint::run ( CCompilateur & c ) [pure virtual]
 

Run with a CCompilateur dependency.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintFindRun, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, NLAISCRIPT::IOpType, NLAISCRIPT::COperandUnknown, NLAISCRIPT::COperationType, NLAISCRIPT::COperationTypeGD, and NLAISCRIPT::COperandListType.

void NLAISCRIPT::IConstraint::runConnexcion ( ) [inline]
 

When a constraint is resoved,we call all dependency.

Definition at line 212 of file constraint.h.

bool NLAISCRIPT::IConstraint::satisfied ( ) [pure virtual]
 

If the constraint is resolved.

Reimplemented in NLAISCRIPT::CConstraintMethode, NLAISCRIPT::CConstraintDebug, NLAISCRIPT::CConstraintStackComp, NLAISCRIPT::CConstraintChkMethodeType, NLAISCRIPT::COperandVoid, NLAISCRIPT::COperandSimple, NLAISCRIPT::COperandSimpleListOr, NLAISCRIPT::COperandUnknown, NLAISCRIPT::COperationType, NLAISCRIPT::COperationTypeGD, and NLAISCRIPT::COperandListType.


Member Data Documentation

std::list< IConstraint *> NLAISCRIPT::IConstraint::_ConstraintList [private]
 

List of constraint dependency. When constraint is resolve it call all constraint contain in this list and run its.

Definition at line 168 of file constraint.h.


The documentation for this class was generated from the following files: