NLAISCRIPT::CFactorType Struct Reference

#include <compilateur.h>


Detailed Description

This structur define the type of an factor.
Author:
Chafik sameh

Nevrax France

Date:
2000

Definition at line 82 of file compilateur.h.

Public Member Functions

 CFactorType (const CFactorType &v)
 CFactorType ()
const CFactorTypeclone () const
void del ()
void set (const CFactorType &v)
virtual ~CFactorType ()

Data Fields

bool IsUsed
 This is use for the yacc parser.

std::list< sint32Member
 This list containe the range of a variable memeber.

std::list< NLAISCRIPT::CStringTypeMemberName
 Name of the hiearchie variable for exemple pos.y.

IOpTypeTypeStack
 It use when we acces to a stack statement.

NLAIAGENT::IObjetOpValue
 if VarType is an varTypeImediate then Value contain the value of variable.

const NLAIAGENT::IObjectIAValueVar
 if VarType is an varTypeLocal then ValueVar is the pointer representation of this variable.

TVarOfType VarType


Constructor & Destructor Documentation

NLAISCRIPT::CFactorType::CFactorType  ) 
 

Definition at line 67 of file factor_type.cpp.

References TypeStack, and ValueVar.

Referenced by clone().

00068         {                       
00069                 Value = NULL;
00070                 ValueVar = NULL;
00071                 TypeStack = NULL;
00072         }

NLAISCRIPT::CFactorType::CFactorType const CFactorType v  ) 
 

Definition at line 54 of file factor_type.cpp.

References NLAIC::IPointerGestion::incRef(), IsUsed, Member, MemberName, TypeStack, v, ValueVar, and VarType.

00055         {
00056                 Value = v.Value;
00057                 v.Value->incRef();
00058                 ValueVar = v.ValueVar;
00059                 VarType = v.VarType;
00060                 IsUsed = v.IsUsed;
00061                 Member = v.Member;
00062                 MemberName = v.MemberName;              
00063                 TypeStack = v.TypeStack;
00064                 TypeStack->incRef();
00065         }

virtual NLAISCRIPT::CFactorType::~CFactorType  )  [inline, virtual]
 

Definition at line 101 of file compilateur.h.

References del().

00102                 {
00103                         del();
00104                 }


Member Function Documentation

const CFactorType* NLAISCRIPT::CFactorType::clone void   )  const [inline]
 

Definition at line 110 of file compilateur.h.

References CFactorType().

00111                 {
00112                         return new CFactorType(*this);          
00113                 }

void NLAISCRIPT::CFactorType::del  ) 
 

Definition at line 30 of file factor_type.cpp.

References Member, MemberName, NLAIC::IPointerGestion::release(), and TypeStack.

Referenced by set(), and ~CFactorType().

00031         {
00032                 MemberName.clear();
00033                 Member.clear();
00034                 if(Value)
00035                                 Value->release();
00036                 if(TypeStack)
00037                                 TypeStack->release();
00038         }

void NLAISCRIPT::CFactorType::set const CFactorType v  ) 
 

Definition at line 40 of file factor_type.cpp.

References del(), NLAIC::IPointerGestion::incRef(), IsUsed, Member, MemberName, TypeStack, v, ValueVar, and VarType.

00041         {               
00042                 del();
00043                 Value = v.Value;
00044                 v.Value->incRef();
00045                 ValueVar = v.ValueVar;
00046                 VarType = v.VarType;
00047                 IsUsed = v.IsUsed;
00048                 Member = v.Member;      
00049                 MemberName = v.MemberName;
00050                 TypeStack = v.TypeStack;
00051                 TypeStack->incRef();
00052         }


Field Documentation

bool NLAISCRIPT::CFactorType::IsUsed
 

This is use for the yacc parser.

Definition at line 90 of file compilateur.h.

Referenced by NLAISCRIPT::CCompilateur::allocExpression(), CFactorType(), NLAISCRIPT::CCompilateur::processingVar(), set(), NLAISCRIPT::CCompilateur::setChaineVar(), NLAISCRIPT::CCompilateur::setImediateVar(), NLAISCRIPT::CCompilateur::setImediateVarNill(), NLAISCRIPT::CCompilateur::setMethodVar(), NLAISCRIPT::CCompilateur::setPerformative(), and NLAISCRIPT::CCompilateur::setStackVar().

std::list<sint32> NLAISCRIPT::CFactorType::Member
 

This list containe the range of a variable memeber.

Definition at line 92 of file compilateur.h.

Referenced by NLAISCRIPT::CCompilateur::allocExpression(), CFactorType(), del(), NLAISCRIPT::CCompilateur::processingVar(), and set().

std::list<NLAISCRIPT::CStringType > NLAISCRIPT::CFactorType::MemberName
 

Name of the hiearchie variable for exemple pos.y.

Definition at line 94 of file compilateur.h.

Referenced by CFactorType(), del(), NLAISCRIPT::CCompilateur::processingVar(), and set().

IOpType* NLAISCRIPT::CFactorType::TypeStack
 

It use when we acces to a stack statement.

Definition at line 96 of file compilateur.h.

Referenced by NLAISCRIPT::CCompilateur::allocExpression(), CFactorType(), del(), NLAISCRIPT::CCompilateur::processingVar(), and set().

NLAIAGENT::IObjetOp* NLAISCRIPT::CFactorType::Value
 

if VarType is an varTypeImediate then Value contain the value of variable.

Definition at line 85 of file compilateur.h.

Referenced by NLAISCRIPT::CCompilateur::allocExpression(), NLAISCRIPT::CCompilateur::setChaineVar(), NLAISCRIPT::CCompilateur::setImediateVar(), NLAISCRIPT::CCompilateur::setImediateVarNill(), NLAISCRIPT::CCompilateur::setMethodVar(), NLAISCRIPT::CCompilateur::setPerformative(), and NLAISCRIPT::CCompilateur::setStackVar().

const NLAIAGENT::IObjectIA* NLAISCRIPT::CFactorType::ValueVar
 

if VarType is an varTypeLocal then ValueVar is the pointer representation of this variable.

Definition at line 87 of file compilateur.h.

Referenced by NLAISCRIPT::CCompilateur::allocExpression(), CFactorType(), NLAISCRIPT::CCompilateur::processingVar(), and set().

TVarOfType NLAISCRIPT::CFactorType::VarType
 

Definition at line 88 of file compilateur.h.

Referenced by NLAISCRIPT::CCompilateur::allocExpression(), CFactorType(), NLAISCRIPT::CCompilateur::processingVar(), set(), NLAISCRIPT::CCompilateur::setChaineVar(), NLAISCRIPT::CCompilateur::setImediateVar(), NLAISCRIPT::CCompilateur::setImediateVarNill(), NLAISCRIPT::CCompilateur::setMethodVar(), NLAISCRIPT::CCompilateur::setPerformative(), and NLAISCRIPT::CCompilateur::setStackVar().


The documentation for this struct was generated from the following files:
Generated on Tue Mar 16 11:36:50 2004 for NeL by doxygen 1.3.6