Index

C++ Code Documentation

template <class TYPE, class TYPE_OP> eval::ParseBase

File: BASE/eval/ParseBase.H

Parses an expression in two passes. Pass 1 runs a yacc parser on a base::String, creating a tree. Pass 2 vectorizes the tree, creating an rpn-style vector.

public:
  • ParseBase();
    void constructor
  • ParseBase( ParseBase const & );
    copy constructor
  • ~ParseBase();
    destructor
  • ParseBase &operator=( ParseBase const & );
    assignment operator
  • void parse( expr_base<TYPE> &, base::String const & );
  • void parse( expr_base<TYPE> &, char const * );
  • void parse( expr_base<TYPE> &, char const *, uint );
  • void parse( expr_base<TYPE> &, std::istream & );
protected:
  • void vectorize( expr_base<TYPE> &, EvalNode const * );
private:
  • char const *unary_op_name(uint i) const;
  • char const *binary_op_name(uint i) const;
  • Parser _parser;


template <class TYPE, class TYPE_OP> eval::ParseBase GANG