Parser Class Reference

#include <parser.h>

List of all members.

Public Member Functions

 Parser ()
EquationTextToTree (char *)
void TidyUpEqn (Equation *)
void TreeToText (Equation *)
 ~Parser ()

Private Member Functions

void AddToken (func_type)
void Alpha (char *, char *)
void Digit (char *, double *, bool *, int *)
void EndFunc (char *)
void EndNum (double *, bool *, int *)
void ErrorCheck ()
void NodeText (int, Node *, char *, int &)
void PassOne ()
void PassTwo ()
bool Priority (func_type, func_type)
void RemoveBrackets ()
void Symbol (char *)
void TidyNode (Node *&)
void TidyUp ()
char * TreeToText (Node *)
void TreeToText ()

Private Attributes

Equationequation
char * EquationText
TokenEquationTokenEnd
TokenEquationTokenStart

Detailed Description

Definition at line 37 of file parser.h.


Constructor & Destructor Documentation

Parser (  ) 

Definition at line 38 of file parser.cpp.

References equation, EquationText, EquationTokenEnd, and EquationTokenStart.

~Parser (  ) 

Definition at line 47 of file parser.cpp.

References EquationTokenEnd, EquationTokenStart, Token::Last, and Token::Next.


Member Function Documentation

void AddToken ( func_type  WhichType  )  [private]

Definition at line 326 of file parser.cpp.

References EquationTokenEnd, EquationTokenStart, Token::Last, Token::Next, and Token::Type.

Referenced by EndFunc(), EndNum(), and Symbol().

void Alpha ( char *  Pointer,
char *  ThisFunc 
) [private]

Definition at line 217 of file parser.cpp.

Referenced by EndFunc(), and PassOne().

void Digit ( char *  Pointer,
double *  ThisDigit,
bool *  DoDigit,
int *  DecPt 
) [private]

Definition at line 203 of file parser.cpp.

Referenced by PassOne().

void EndFunc ( char *  ThisFunc  )  [private]
void EndNum ( double *  ThisDigit,
bool *  DoDigit,
int *  DecPt 
) [private]

Definition at line 315 of file parser.cpp.

References AddToken(), EquationTokenEnd, MTK_NUMBER, and Token::Value.

Referenced by PassOne().

void ErrorCheck (  )  [private]
void NodeText ( int  type,
Node TreePos,
char *  Buffer,
int &  BufferSize 
) [private]
void PassOne (  )  [private]

Definition at line 146 of file parser.cpp.

References Alpha(), Equation::brackets, Digit(), EndFunc(), EndNum(), equation, EquationText, and Symbol().

Referenced by TextToTree().

void PassTwo (  )  [private]
bool Priority ( func_type  First,
func_type  Second 
) [private]
void RemoveBrackets (  )  [private]
void Symbol ( char *  Pointer  )  [private]
Equation * TextToTree ( char *  text  ) 
void TidyNode ( Node *&  TreePos  )  [private]
void TidyUp (  )  [private]
void TidyUpEqn ( Equation eqn  ) 

Definition at line 137 of file parser.cpp.

References equation, and TidyUp().

Referenced by Equation::AddPowerSeriesTerm(), and Equation::PowerSeries().

char * TreeToText ( Node TreeRoot  )  [private]
void TreeToText (  )  [private]

Definition at line 896 of file parser.cpp.

References equation, EquationText, TTree::Reset(), and TTree::Root.

Referenced by TreeToText().

void TreeToText ( Equation eqn  ) 

Member Data Documentation

Equation* equation [private]
char* EquationText [private]

Definition at line 65 of file parser.h.

Referenced by Parser(), PassOne(), TextToTree(), and TreeToText().

Token* EquationTokenEnd [private]

Definition at line 67 of file parser.h.

Referenced by AddToken(), EndFunc(), EndNum(), ErrorCheck(), Parser(), Symbol(), TextToTree(), and ~Parser().

Definition at line 66 of file parser.h.

Referenced by AddToken(), ErrorCheck(), Parser(), PassTwo(), TextToTree(), and ~Parser().


The documentation for this class was generated from the following files:

Generated by  doxygen 1.6.2