Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

expressionparser.h File Reference


Detailed Description

ExpressionParser and ParamStringParser classes.

Header
/u/nn/cvsroot/lissom/src/expressionparser.h,v 1.35 2003/01/16 04:11:58 jbednar Exp

Definition in file expressionparser.h.

#include "../src/exprparser.h"
#include "../src/pointerlookup.h"

Include dependency graph for expressionparser.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Compounds

class  ExpressionParser
 Extends ExprParser with parameter lookup in a map. More...

class  ParamStringParser
 Cleaner interface to the parsing functions. More...


Defines

#define PARSE_POINTER_DEF(T)
 Parse the given expression, assuming pointers will be represented as e.g.


Define Documentation

#define PARSE_POINTER_DEF  
 

Value:

T*&  parse_pointer(const string& s, T*&  x) const {     \
    if (!ispointer(s))                                  \
      parse(s,*x);                                      \
    else {                                              \
      T* ptr;                                           \
      parserfactory(s.c_str()+1).lookup_pointer(ptr);   \
      if (ptr) x=ptr;                                   \
      else error("StringParser: Could not get a "       \
                 "pointer of required type from "+s);   \
    }                                                   \
    return x;                                           \
  }
Parse the given expression, assuming pointers will be represented as e.g.

"&x", where x is the name of a parameter. Currently requires the & to be the first character in the string.

This was once a template, but the template was replaced with a macro to avoid an "Internal compiler error" in GCC 2.95. To restore the template, just replace the first line of the define with:

    template <class T>
    

and remove the backslashes and the macro calls.

Definition at line 272 of file expressionparser.h.


Generated on Mon Jan 20 02:35:54 2003 for RF-LISSOM by doxygen1.3-rc2