diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Trader/Interpreter.h')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Trader/Interpreter.h | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Trader/Interpreter.h b/TAO/orbsvcs/orbsvcs/Trader/Interpreter.h deleted file mode 100644 index 188646481a3..00000000000 --- a/TAO/orbsvcs/orbsvcs/Trader/Interpreter.h +++ /dev/null @@ -1,98 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -// ======================================================================== -// -// = LIBRARY -// orbsvcs -// -// = FILENAME -// Interpreter.h -// -// = AUTHOR -// Seth Widoff <sbw1@cs.wustl.edu> -// -// ======================================================================== - -#ifndef TAO_TCL_INTERPRETER_H -#define TAO_TCL_INTERPRETER_H - -#include "Constraint_Nodes.h" -#include "Constraint_Visitors.h" - -class TAO_Constraint_Evaluator; -class TAO_Constraint_Validator; - -class TAO_Interpreter -{ - // = TITLE - // TAO_Interpreter is the superclass for all interpreters. Its - // build tree method invokes the yacc parser to parse a constraint - // or preference string. -protected: - // = Initialization and termination methods. - TAO_Interpreter (void); - // Constructor. - - ~TAO_Interpreter (void); - // Destructor. - - int build_tree (const char* preferences); - // Using the Yacc generated parser, construct an expression tree - // representing <constraints> from the tokens returned by it. - - static int is_empty_string (const char* str); - - TAO_Constraint* root_; - // The root of the expression tree, not equal to null if build_tree - // successfully builds a tree from the constraints. -private: - static ACE_SYNCH_MUTEX parserMutex__; - // This mutex protects the <build_tree> method from reentrance. -}; - - -// Functions we need for parsing. -extern int yyparse (void); -extern void yyrestart (FILE*); -extern int yylex (void); - -// Have yylex read from the constraint string, not from stdin. -#undef YY_INPUT -#define YY_INPUT(b, r, ms) (r = TAO_Lex_String_Input::copy_into(b, ms)) - -#undef yyerror -#define yyerror(x) - -class TAO_Lex_String_Input -{ - // = TITLE - // Have Lex read from a string and not from stdin. Essentially, - // the interpreter needs to call yylex() until EOF, and call - // TAO_Lex_String_Input::reset() with the new string, prior to - // calling yyparse. -public: - static void reset (char* input_string); - // Reset the lex input. - - static int copy_into (char* buf, int max_size); - // Method lex will call to read from the input string. - -private: - - static char* string_; - static char* current_; - static char* end_; - // Pointers to keep track of the input string. -}; - -// The union used by lex and yacc to build the Abstract Syntax Tree. -typedef union -{ - TAO_Constraint* constraint_; -} YYSTYPE; - -extern YYSTYPE yylval; -extern YYSTYPE yyval; - -#endif /* TAO_TCL_INTERPRETER_H */ |