00001 #include "borqueror.h"
00002
00003 #include "expr.h"
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 const char Expr::sr[10][10] =
00017 {
00018 { '>' , '>' , '<' , '<' , '>' , '<' , '<' , '>' , '>' , '<' } ,
00019 { '>' , '>' , '<' , '<' , '>' , '<' , '<' , '>' , '>' , '<' } ,
00020 { '>' , '>' , '>' , '>' , '>' , '<' , '<' , '>' , '>' , '<' } ,
00021 { '>' , '>' , '>' , '>' , '>' , '<' , '<' , '>' , '>' , '<' } ,
00022 { '>' , '>' , '<' , '<' , '>' , '<' , '<' , '>' , '>' , '<' } ,
00023 { '>' , '>' , '>' , '>' , '>' , ' ' , ' ' , '>' , '>' , ' ' } ,
00024 { '<' , '<' , '<' , '<' , '<' , '<' , '<' , '=' , '>' , '<' } ,
00025 { '>' , '>' , '>' , '>' , '>' , ' ' , ' ' , '>' , '>' , ' ' } ,
00026 { '<' , '<' , '<' , '<' , '<' , '<' , '<' , ' ' , '$' , '<' } ,
00027 { '>' , '>' , '>' , '>' , '>' , ' ' , ' ' , '>' , '>' , ' ' }
00028 };
00030 Expr::Expr( const string &aBuffer )
00031 : Lexer( aBuffer )
00032 {
00034 symbol.insert( std::make_pair( string( "$" ) , 8) );
00035 symbol.insert( std::make_pair( string( "(" ) , 6) );
00036 symbol.insert( std::make_pair( string( ")" ) , 7) );
00037 symbol.insert( std::make_pair( string( "|" ) , 4) );
00038 symbol.insert( std::make_pair( string( "+" ) , 0) );
00039 symbol.insert( std::make_pair( string( "-" ) , 1) );
00040 symbol.insert( std::make_pair( string( "/" ) , 3) );
00041 symbol.insert( std::make_pair( string( "*" ) , 2) );
00042 symbol.insert( std::make_pair( string( "Id" ) , 5) );
00043
00044 symbol.insert( std::make_pair( string( "Val" ) , 9) );
00045
00046
00047 }
00048 const int Expr::EofId( void ) const
00049 {
00050 return 8;
00051 }
00052
00053 const int Expr::IdentifierId( void ) const
00054 {
00055 return 5;
00056 }
00057
00058 const int Expr::NumberId( void ) const
00059 {
00060 return 9;
00061 }
00062
00063 vector<Uniform *> ExprParser::toDelinExprParser;
00064