[opengtl-commits] [184] * PixelDescription can be used in a map |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/opengtl-commits Archives
]
Revision: 184
Author: cyrille
Date: 2008-06-06 23:59:29 +0200 (Fri, 06 Jun 2008)
Log Message:
-----------
* PixelDescription can be used in a map
* remove image, pixel, region from the token list (they will be declared as normal structures)
* rework the special shiva type creation
Modified Paths:
--------------
trunk/OpenGTL/OpenGTL/GTLCore/CodeGenerator_p.cpp
trunk/OpenGTL/OpenGTL/GTLCore/PixelDescription.cpp
trunk/OpenGTL/OpenGTL/GTLCore/PixelDescription.h
trunk/OpenGTL/OpenGTL/GTLCore/Token_p.cpp
trunk/OpenGTL/OpenGTL/GTLCore/Token_p.h
trunk/OpenGTL/OpenGTL/GTLCore/TypeManager.h
trunk/OpenGTL/OpenGTL/GTLCore/TypeManager_p.cpp
trunk/OpenGTL/OpenShiva/OpenShiva/Kernel.cpp
trunk/OpenGTL/OpenShiva/OpenShiva/Kernel.h
trunk/OpenGTL/OpenShiva/OpenShiva/Lexer_p.cpp
trunk/OpenGTL/OpenShiva/OpenShiva/Parser_p.cpp
trunk/OpenGTL/OpenShiva/OpenShiva/Parser_p.h
trunk/OpenGTL/OpenShiva/OpenShiva/Types_p.cpp
trunk/OpenGTL/OpenShiva/OpenShiva/Types_p.h
trunk/OpenGTL/OpenShiva/tests/library/TestLexer.h
Modified: trunk/OpenGTL/OpenGTL/GTLCore/CodeGenerator_p.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLCore/CodeGenerator_p.cpp 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenGTL/GTLCore/CodeGenerator_p.cpp 2008-06-06 21:59:29 UTC (rev 184)
@@ -191,7 +191,7 @@
return convertConstantTo( _constant, _type->data()->type());
}
#endif
-
+
llvm::Value* CodeGenerator::convertPointerTo(llvm::BasicBlock* _currentBlock, llvm::Value* _value, const llvm::Type* _type)
{
return new llvm::BitCastInst( _value, llvm::PointerType::get( _type, 0 ), "", _currentBlock );
Modified: trunk/OpenGTL/OpenGTL/GTLCore/PixelDescription.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLCore/PixelDescription.cpp 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenGTL/GTLCore/PixelDescription.cpp 2008-06-06 21:59:29 UTC (rev 184)
@@ -82,3 +82,45 @@
{
return d->bitsSize;
}
+
+bool PixelDescription::operator<( const PixelDescription& _rhs ) const
+{
+ if( d->bitsSize == _rhs.d->bitsSize )
+ {
+ if( d->channelsType.size() == _rhs.d->channelsType.size() )
+ {
+ for(unsigned int i = 0; i < d->channelsType.size(); ++i)
+ {
+ if( d->channelsType[i] != _rhs.d->channelsType[i] )
+ {
+ return d->channelsType[i] < _rhs.d->channelsType[i];
+ }
+ }
+ return false;
+ } else {
+ return (d->channelsType.size() < _rhs.d->channelsType.size());
+ }
+ return false;
+ } else
+ {
+ return (d->bitsSize < _rhs.d->bitsSize );
+ }
+}
+
+bool PixelDescription::operator==( const PixelDescription& _rhs ) const
+{
+ if( d->channelsType.size() != _rhs.d->channelsType.size()
+ and d->bitsSize != _rhs.d->bitsSize )
+ {
+ return false;
+ } else {
+ for(unsigned int i = 0; i < d->channelsType.size(); ++i)
+ {
+ if( d->channelsType[i] != _rhs.d->channelsType[i] )
+ {
+ return false;
+ }
+ }
+ return true;
+ }
+}
Modified: trunk/OpenGTL/OpenGTL/GTLCore/PixelDescription.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLCore/PixelDescription.h 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenGTL/GTLCore/PixelDescription.h 2008-06-06 21:59:29 UTC (rev 184)
@@ -57,6 +57,8 @@
* @return the size of a pixel in bits
*/
int bitsSize() const;
+ bool operator<( const PixelDescription& _rhs ) const;
+ bool operator==( const PixelDescription& _rhs ) const;
private:
struct Private;
Private* const d;
Modified: trunk/OpenGTL/OpenGTL/GTLCore/Token_p.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLCore/Token_p.cpp 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenGTL/GTLCore/Token_p.cpp 2008-06-06 21:59:29 UTC (rev 184)
@@ -121,8 +121,6 @@
return "for";
case IF:
return "if";
- case IMAGE:
- return "image";
case IMPORT:
return "import";
case INT:
@@ -137,10 +135,6 @@
return "kernel";
case LONG:
return "long";
- case PIXEL:
- return "pixel";
- case REGION:
- return "region";
case RETURN:
return "return";
case SHORT:
@@ -205,7 +199,7 @@
bool Token::isNativeType() const
{
- return type == Token::INT or type == Token::INT2 or type == Token::INT3 or type == Token::INT4 or type == Token::FLOAT or type == Token::FLOAT2 or type == Token::FLOAT3 or type == Token::FLOAT4 or type == Token::HALF or type == Token::BOOL or type == Token::BOOL2 or type == Token::BOOL3 or type == Token::BOOL4 or type == Token::UNSIGNED or type == Token::SIGNED or type == Token::IMAGE or type == Token::REGION or type == Token::PIXEL;
+ return type == Token::INT or type == Token::INT2 or type == Token::INT3 or type == Token::INT4 or type == Token::FLOAT or type == Token::FLOAT2 or type == Token::FLOAT3 or type == Token::FLOAT4 or type == Token::HALF or type == Token::BOOL or type == Token::BOOL2 or type == Token::BOOL3 or type == Token::BOOL4 or type == Token::UNSIGNED or type == Token::SIGNED;
}
bool Token::isFunctionType() const
Modified: trunk/OpenGTL/OpenGTL/GTLCore/Token_p.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLCore/Token_p.h 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenGTL/GTLCore/Token_p.h 2008-06-06 21:59:29 UTC (rev 184)
@@ -90,7 +90,6 @@
ELSE,
FOR,
IF,
- IMAGE,
IMPORT,
INT,
INT2,
@@ -98,8 +97,6 @@
INT4,
KERNEL,
LONG,
- PIXEL,
- REGION,
RETURN,
SHORT,
SIGNED,
Modified: trunk/OpenGTL/OpenGTL/GTLCore/TypeManager.h
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLCore/TypeManager.h 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenGTL/GTLCore/TypeManager.h 2008-06-06 21:59:29 UTC (rev 184)
@@ -23,9 +23,14 @@
#include <GTLCore/String.h>
#include <GTLCore/Type.h>
+namespace OpenShiva {
+ class Types;
+}
+
namespace GTLCore {
class TypeManager {
friend class ParserBase;
+ friend class OpenShiva::Types;
public:
TypeManager();
~TypeManager();
Modified: trunk/OpenGTL/OpenGTL/GTLCore/TypeManager_p.cpp
===================================================================
--- trunk/OpenGTL/OpenGTL/GTLCore/TypeManager_p.cpp 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenGTL/GTLCore/TypeManager_p.cpp 2008-06-06 21:59:29 UTC (rev 184)
@@ -19,6 +19,8 @@
#include "TypeManager_p.h"
+#include "Debug.h"
+
using namespace GTLCore;
bool TypeManager::Private::isKnownType(const GTLCore::String& _name) const
@@ -28,11 +30,14 @@
const GTLCore::Type* TypeManager::Private::createStructure( const GTLCore::String& _name, const std::vector<GTLCore::Type::StructDataMember>& _members)
{
+ GTL_DEBUG("createStructure " << _name);
if(isKnownType( _name) )
{
+ GTL_DEBUG("Allready exist");
return 0;
}
GTLCore::Type* t = new GTLCore::Type( _name, _members);
knownTypes[ _name ] = t;
+ GTL_ASSERT(isKnownType( _name) );
return t;
}
Modified: trunk/OpenGTL/OpenShiva/OpenShiva/Kernel.cpp
===================================================================
--- trunk/OpenGTL/OpenShiva/OpenShiva/Kernel.cpp 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenShiva/OpenShiva/Kernel.cpp 2008-06-06 21:59:29 UTC (rev 184)
@@ -33,10 +33,13 @@
#include "Debug.h"
#include "Compiler_p.h"
+#include "Types_p.h"
using namespace OpenShiva;
struct Kernel::Private {
+ Private( const GTLCore::PixelDescription& _pixelDescription) : pixelDescription(_pixelDescription)
+ {}
GTLCore::String name;
GTLCore::String source;
bool enableHydraCompatibility;
@@ -44,35 +47,38 @@
std::list<GTLCore::ErrorMessage> compilationErrors;
llvm::ModuleProvider* moduleProvider;
GTLCore::ModuleData* moduleData;
+ const GTLCore::PixelDescription pixelDescription;
+ const GTLCore::Type* referenceDepth;
};
-Kernel::Kernel(const GTLCore::String& _name) : d(new Private)
+Kernel::Kernel(const GTLCore::String& _name) : d(new Private(GTLCore::PixelDescription( GTLCore::Type::Float, 4 )) )
{
- init(_name, GTLCore::PixelDescription( GTLCore::Type::Float, 4 ), GTLCore::Type::Float );
+ init(_name, GTLCore::Type::Float );
}
-Kernel::Kernel(const GTLCore::String& _name, const GTLCore::Type* _referenceDepth, int _channelsNb ) : d(new Private)
+Kernel::Kernel(const GTLCore::String& _name, const GTLCore::Type* _referenceDepth, int _channelsNb ) : d(new Private(GTLCore::PixelDescription( _referenceDepth, _channelsNb )))
{
- init(_name, GTLCore::PixelDescription( _referenceDepth, _channelsNb ), _referenceDepth );
+ init(_name, _referenceDepth );
}
-Kernel::Kernel(const GTLCore::String& _name, const GTLCore::PixelDescription& _pixelDescription ) : d(new Private)
+Kernel::Kernel(const GTLCore::String& _name, const GTLCore::PixelDescription& _pixelDescription ) : d(new Private(_pixelDescription))
{
- init(_name, _pixelDescription, _pixelDescription.channelTypes()[0] );
+ init(_name, _pixelDescription.channelTypes()[0] );
}
-Kernel::Kernel(const GTLCore::String& _name, const GTLCore::PixelDescription& _pixelDescription, const GTLCore::Type* _referenceDepth ) : d(new Private)
+Kernel::Kernel(const GTLCore::String& _name, const GTLCore::PixelDescription& _pixelDescription, const GTLCore::Type* _referenceDepth ) : d(new Private(_pixelDescription))
{
- init(_name, _pixelDescription, _referenceDepth );
+ init(_name, _referenceDepth );
}
-void Kernel::init(const GTLCore::String& _name, const GTLCore::PixelDescription& , const GTLCore::Type* _referenceDepth )
+void Kernel::init(const GTLCore::String& _name, const GTLCore::Type* _referenceDepth )
{
d->name = _name;
d->compiled = false;
d->enableHydraCompatibility = false;
d->moduleProvider = 0;
d->moduleData = 0;
+ d->referenceDepth = _referenceDepth;
}
@@ -89,7 +95,6 @@
void Kernel::loadFromFile(const GTLCore::String& _fileName)
{
-
d->source = "";
std::ifstream in;
in.open(_fileName.c_str() );
@@ -117,6 +122,7 @@
}
delete d->moduleData;
d->moduleData = new GTLCore::ModuleData(new llvm::Module(d->name));
+ Types::fillTypeManager( d->moduleData->typeManager(), d->pixelDescription, d->referenceDepth );
Compiler c;
bool result = c.compile( d->source, d->name, d->moduleData );
Modified: trunk/OpenGTL/OpenShiva/OpenShiva/Kernel.h
===================================================================
--- trunk/OpenGTL/OpenShiva/OpenShiva/Kernel.h 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenShiva/OpenShiva/Kernel.h 2008-06-06 21:59:29 UTC (rev 184)
@@ -42,7 +42,7 @@
Kernel(const GTLCore::String& _name, const GTLCore::PixelDescription& _pixelDescription );
Kernel(const GTLCore::String& _name, const GTLCore::PixelDescription& _pixelDescription, const GTLCore::Type* _referenceDepth );
private:
- void init(const GTLCore::String& _name, const GTLCore::PixelDescription& , const GTLCore::Type* _referenceDepth );
+ void init(const GTLCore::String& _name, const GTLCore::Type* _referenceDepth );
public:
/**
* @return the name of the module (it's usually the name of the file without the .ctl
Modified: trunk/OpenGTL/OpenShiva/OpenShiva/Lexer_p.cpp
===================================================================
--- trunk/OpenGTL/OpenShiva/OpenShiva/Lexer_p.cpp 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenShiva/OpenShiva/Lexer_p.cpp 2008-06-06 21:59:29 UTC (rev 184)
@@ -85,9 +85,6 @@
IDENTIFIER_IS_KEYWORD( "print", PRINT );
IDENTIFIER_IS_KEYWORD( "true", TTRUE );
IDENTIFIER_IS_KEYWORD( "false", TFALSE );
- IDENTIFIER_IS_KEYWORD( "image", IMAGE );
- IDENTIFIER_IS_KEYWORD( "region", REGION );
- IDENTIFIER_IS_KEYWORD( "pixel", PIXEL );
return GTLCore::Token(GTLCore::Token::IDENTIFIER, identifierStr,line(), initial_col);
} else if( isdigit(lastChar) )
{ // if it's a digit
Modified: trunk/OpenGTL/OpenShiva/OpenShiva/Parser_p.cpp
===================================================================
--- trunk/OpenGTL/OpenShiva/OpenShiva/Parser_p.cpp 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenShiva/OpenShiva/Parser_p.cpp 2008-06-06 21:59:29 UTC (rev 184)
@@ -102,27 +102,6 @@
return d->tree;
}
-const GTLCore::Type* Parser::parseType()
-{
-#if 0
- switch( currentToken().type )
- {
- case GTLCore::Token::IMAGE:
- getNextToken();
- return Types::image();
- case GTLCore::Token::REGION:
- getNextToken();
- return Types::region();
- case GTLCore::Token::PIXEL:
- getNextToken();
- return Types::pixel();
- default:
- return ParserBase::parseType();
- }
-#endif
- return 0;
-}
-
AST::Statement* Parser::parseStatement()
{
if( isType(currentToken()) )
Modified: trunk/OpenGTL/OpenShiva/OpenShiva/Parser_p.h
===================================================================
--- trunk/OpenGTL/OpenShiva/OpenShiva/Parser_p.h 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenShiva/OpenShiva/Parser_p.h 2008-06-06 21:59:29 UTC (rev 184)
@@ -39,10 +39,6 @@
protected:
virtual GTLCore::AST::Tree* tree();
virtual GTLCore::AST::Statement* parseStatement();
- /**
- * Reimplement for support of Image, Region and Pixel types.
- */
- virtual const GTLCore::Type* parseType();
private:
void parseKernelBody();
private:
Modified: trunk/OpenGTL/OpenShiva/OpenShiva/Types_p.cpp
===================================================================
--- trunk/OpenGTL/OpenShiva/OpenShiva/Types_p.cpp 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenShiva/OpenShiva/Types_p.cpp 2008-06-06 21:59:29 UTC (rev 184)
@@ -19,87 +19,68 @@
#include "Types_p.h"
+#include <map>
+#include <vector>
+
+#include "GTLCore/PixelDescription.h"
#include "GTLCore/Type.h"
#include "GTLCore/Type_p.h"
#include "GTLCore/Macros.h"
#include "GTLCore/TypeManager.h"
+#include "GTLCore/TypeManager_p.h"
#include "Debug.h"
using namespace OpenShiva;
-// static GTLCore::Type* s_imageType = 0;
-// static GTLCore::Type* s_regionType = 0;
-// static GTLCore::Type* s_pixelType = 0;
-//
-// const GTLCore::Type* Types::image()
-// {
-// SHIVA_ASSERT( s_imageType );
-// return s_imageType;
-// }
-//
-// const GTLCore::Type* Types::region()
-// {
-// SHIVA_ASSERT( s_regionType );
-// return s_regionType;
-// }
-//
-// const GTLCore::Type* Types::pixel()
-// {
-// SHIVA_ASSERT( s_pixelType );
-// return s_pixelType;
-// }
+typedef std::vector< const GTLCore::Type* > vTypes;
+typedef std::map< const GTLCore::Type*, vTypes> typeToVTypes;
+typedef std::map< GTLCore::PixelDescription, vTypes > pdToVTypes;
-// typedef std::map< GTLCore::Type*, std::vector< GTLCore::Type* > > typeToVTypes;
-// typedef std::map< GTLCore::PixelDescription&, GTLCore::Type* > pdToType;
-
struct Types::Private
{
-// static typeToVTypes s_fixTypes;
-// static pdToType s_specialTypes;
+ static std::vector<GTLCore::Type::StructDataMember> s_imageDataMembers;
+ static std::vector<GTLCore::Type::StructDataMember> s_pixelDataMembers;
+ static std::vector<GTLCore::Type::StructDataMember> s_regionDataMembers;
};
-/*
+
+std::vector<GTLCore::Type::StructDataMember> Types::Private::s_imageDataMembers;
+std::vector<GTLCore::Type::StructDataMember> Types::Private::s_pixelDataMembers;
+std::vector<GTLCore::Type::StructDataMember> Types::Private::s_regionDataMembers;
+
void Types::fillTypeManager( GTLCore::TypeManager* _typeManager, const GTLCore::PixelDescription& _pixelDescription, const GTLCore::Type* _referenceDepth )
{
- typeToVTypes::iterator it = Private::s_fixTypes.find( _referenceDepth );
- if( it == Private::s_fixTypes.end() )
+ SHIVA_DEBUG("fillTypeManager");
+ for( int i = 1; i <= 5; ++i)
{
- } else {
- for( std::vector< GTLCore::Type* >::iterator itTypes = it->second.begin();
- itTypes != it->second.end(); ++itTypes )
- {
- _typeManager->createStructure( (*itTypes)->
- }
+ // Create Image type
+ _typeManager->d->createStructure(
+ "image" + GTLCore::String::number( i ), Private::s_imageDataMembers );
+ _typeManager->d->createStructure(
+ "pixel" + GTLCore::String::number( i ), Private::s_pixelDataMembers );
+ _typeManager->d->createStructure(
+ "region" + GTLCore::String::number( i ), Private::s_regionDataMembers );
}
-
-
+ _typeManager->d->createStructure( "image", Private::s_imageDataMembers );
+ _typeManager->d->createStructure( "pixel", Private::s_pixelDataMembers );
+ _typeManager->d->createStructure( "region", Private::s_regionDataMembers );
}
-*/
-#if 0
+
STATIC_INITIALISATION(OpenShivaTypes)
{
+
{ // Image
- std::vector<GTLCore::Type::StructDataMember> dataMembers;
- dataMembers.push_back( GTLCore::Type::StructDataMember( "image", GTLCore::Type::Pointer) );
- std::vector<GTLCore::Type::StructFunctionMember> functionMembers;
- s_imageType = new GTLCore::Type("image", dataMembers, functionMembers);
+ Types::Private::s_imageDataMembers.push_back( GTLCore::Type::StructDataMember( "image", GTLCore::Type::Pointer) );
}
{ // Region
- std::vector<GTLCore::Type::StructDataMember> dataMembers;
- dataMembers.push_back( GTLCore::Type::StructDataMember( "x", GTLCore::Type::Integer32) );
- dataMembers.push_back( GTLCore::Type::StructDataMember( "y", GTLCore::Type::Integer32) );
- dataMembers.push_back( GTLCore::Type::StructDataMember( "width", GTLCore::Type::Integer32) );
- dataMembers.push_back( GTLCore::Type::StructDataMember( "height", GTLCore::Type::Integer32) );
- std::vector<GTLCore::Type::StructFunctionMember> functionMembers;
- s_regionType = new GTLCore::Type("region", dataMembers, functionMembers);
+ Types::Private::s_regionDataMembers.push_back( GTLCore::Type::StructDataMember( "x", GTLCore::Type::Integer32) );
+ Types::Private::s_regionDataMembers.push_back( GTLCore::Type::StructDataMember( "y", GTLCore::Type::Integer32) );
+ Types::Private::s_regionDataMembers.push_back( GTLCore::Type::StructDataMember( "width", GTLCore::Type::Integer32) );
+ Types::Private::s_regionDataMembers.push_back( GTLCore::Type::StructDataMember( "height", GTLCore::Type::Integer32) );
}
{ // Pixel
- std::vector<GTLCore::Type::StructDataMember> dataMembers;
-// dataMembers.push_back( GTLCore::Type::StructDataMember( "pixel", GTLCore::Type::Pointer, -1) );
- std::vector<GTLCore::Type::StructFunctionMember> functionMembers;
- s_pixelType = new GTLCore::Type("pixel", dataMembers, functionMembers);
+// Types::Private::s_pixelDataMembers.push_back( GTLCore::Type::StructDataMember( "pixel", GTLCore::Type::Pointer, -1) );
}
}
-#endif
Modified: trunk/OpenGTL/OpenShiva/OpenShiva/Types_p.h
===================================================================
--- trunk/OpenGTL/OpenShiva/OpenShiva/Types_p.h 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenShiva/OpenShiva/Types_p.h 2008-06-06 21:59:29 UTC (rev 184)
@@ -23,6 +23,7 @@
namespace GTLCore {
class Type;
class TypeManager;
+ class PixelDescription;
}
namespace OpenShiva {
@@ -35,7 +36,7 @@
struct ImageWrap {
AbstractImage* image;
};
- struct Region {
+ struct RegionWrap {
int x, y, width, height;
};
struct PixelWrap {
@@ -43,8 +44,8 @@
}
class Types {
public:
-// static void fillTypeManager( GTLCore::TypeManager*, const GTLCore::PixelDescription& _pixelDescription, const GTLCore::Type* _referenceDepth );
- private:
+ static void fillTypeManager( GTLCore::TypeManager*, const GTLCore::PixelDescription& _pixelDescription, const GTLCore::Type* _referenceDepth );
+ public:
struct Private;
};
}
Modified: trunk/OpenGTL/OpenShiva/tests/library/TestLexer.h
===================================================================
--- trunk/OpenGTL/OpenShiva/tests/library/TestLexer.h 2008-05-24 09:30:36 UTC (rev 183)
+++ trunk/OpenGTL/OpenShiva/tests/library/TestLexer.h 2008-06-06 21:59:29 UTC (rev 184)
@@ -53,7 +53,7 @@
TestLexerKeywords() : GTLTest::Case("Keywords") {}
virtual void runTest()
{
- std::istringstream iss(" bool bool2 bool3 bool4 const float float2 float3 float4 else for if import int int2 int3 int4 long return size struct void while kernel input output print true false image region pixel");
+ std::istringstream iss(" bool bool2 bool3 bool4 const float float2 float3 float4 else for if import int int2 int3 int4 long return size struct void while kernel input output print true false");
OpenShiva::Lexer lng( &iss);
TEST_FOR_TOKEN( BOOL );
TEST_FOR_TOKEN( BOOL2 );
@@ -84,9 +84,6 @@
TEST_FOR_TOKEN( PRINT );
TEST_FOR_TOKEN( TTRUE );
TEST_FOR_TOKEN( TFALSE );
- TEST_FOR_TOKEN( IMAGE );
- TEST_FOR_TOKEN( REGION );
- TEST_FOR_TOKEN( PIXEL );
}
};