# 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  

constraint_debug.h

Go to the documentation of this file.
00001 /* A debug constraint. It keep a trace between original source code and OpCode.
00002  *
00003  * $Id: constraint_debug.h,v 1.5 2001/01/08 14:39:59 valignat Exp $
00004  */
00005 
00006 /* Copyright, 2000 Nevrax Ltd.
00007  *
00008  * This file is part of NEVRAX NEL.
00009  * NEVRAX NEL is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License as published by
00011  * the Free Software Foundation; either version 2, or (at your option)
00012  * any later version.
00013 
00014  * NEVRAX NEL is distributed in the hope that it will be useful, but
00015  * WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00017  * General Public License for more details.
00018 
00019  * You should have received a copy of the GNU General Public License
00020  * along with NEVRAX NEL; see the file COPYING. If not, write to the
00021  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
00022  * MA 02111-1307, USA.
00023  */
00024 
00025 #ifndef NL_CONSTRAINT_DEBUG_H
00026 #define NL_CONSTRAINT_DEBUG_H
00027 
00028 #include "nel/ai/script/constraint.h"
00029 
00030 namespace NLAISCRIPT
00031 {
00032         class CCompilateur;
00033         class CCodeBrancheRun;
00034 
00041         class CConstraintDebug : public IConstraint
00042         {
00043         private:
00044                 bool                    _Satisfied;     
00045                 int                             _Lin;           
00046                 int                             _Col;           
00047                 int                             _I;                     
00048                 CCodeBrancheRun *_Code;         
00049                 char                    *_Txt;          
00050                 
00051         public:
00056                 CConstraintDebug(int lin, int col);
00057 
00059                 virtual ~CConstraintDebug();
00060 
00062 
00063                 void run(CCompilateur & c);
00064                 void run(IConstraint * c);
00065                 bool satisfied();
00066                 const IConstraint *clone() const;
00067                 ConstraintTypeEnum getTypeOfClass() const {return constraintDebug;}
00069 
00076                 void addIndex(int i,CCodeBrancheRun *c);
00077 
00079                 void getError(char *) const;
00080 
00082                 int getLine() const     {return _Lin;}
00083 
00085                 int getColone() const {return _Col;}
00086 
00091                 bool operator == (const IConstraint &) const;
00092                 const NLAIC::CIdentType *getConstraintTypeOf();
00093                 const char *getInfo();
00094                 bool dependOn(const IConstraint *) const;
00096         };      
00097 }
00098 #endif
00099 /* End of constraint_debug.h */
00100