TRUST 1.9.8
HPC thermohydraulic platform
Loading...
Searching...
No Matches
Parser Class Reference

Representation des donnees de la classe Parser. More...

#include <Parser.h>

Inheritance diagram for Parser:
[legend]
Collaboration diagram for Parser:
[legend]

Public Member Functions

 Parser ()
 Parser (const Parser &)
virtual ~Parser ()
void set (const Parser &)
 Parser (std::string &, int n=1)
void init_parser ()
virtual void parseString ()
double eval ()
void setVar (const char *sv, double val)
void setVar (const std::string &v, double val)
void setVar (int i, double val)
virtual void setNbVar (int nvar)
void addVar (const char *)
int getmaxVar ()
int getNbVar ()
std::string & getString ()
void setString (const std::string &s)
void addCst (const Constante &cst)
void setImpulsion (double tinit, double periode)

Protected Member Functions

int test_op_binaire (int type)
double eval (const PNodePod &node)
KOKKOS_INLINE_FUNCTION double evalOp (const PNodePod &node, double x, double y)
KOKKOS_INLINE_FUNCTION double evalFunc (const PNodePod &node, double x)
void parserState0 (StringTokenizer *, PSTACK(PNode) *, STACK(int) *)
void parserState1 (StringTokenizer *, PSTACK(PNode) *, STACK(int) *)
void parserState2 (StringTokenizer *, PSTACK(PNode) *, STACK(int) *)
int searchVar (const std::string &s)
int searchVar (const char *)
int searchCst (const std::string &v)
int searchFunc (const std::string &v)
 LIST (Constante) les_cst

Static Protected Member Functions

static int precedence (int)

Protected Attributes

int state
Constante c_pi
double impuls_T
double impuls_t0
double impuls_tn
double impuls_tempo
PNoderoot
std::vector< PNodePodPNodes
std::string str
ArrOfDouble les_var
Noms les_var_names
std::map< std::string, int > map_function_
int maxvar
int ivar

Detailed Description

Representation des donnees de la classe Parser.

See also
=

Definition at line 38 of file Parser.h.

Constructor & Destructor Documentation

◆ Parser() [1/3]

Parser::Parser ( )

Initialise le parser avec une chaine "0" : ne sert a rien !!

Definition at line 25 of file Parser.cpp.

◆ Parser() [2/3]

Parser::Parser ( const Parser & p)

Definition at line 38 of file Parser.cpp.

◆ ~Parser()

Parser::~Parser ( )
virtual

Definition at line 111 of file Parser.cpp.

◆ Parser() [3/3]

Parser::Parser ( std::string & s,
int n = 1 )

Construit un objet Parser avec une chaine specifiee et un nb max de variables a indiquer avec la methode addVar.

Definition at line 40 of file Parser.cpp.

Member Function Documentation

◆ addCst()

void Parser::addCst ( const Constante & cst)

Definition at line 618 of file Parser.cpp.

◆ addVar()

void Parser::addVar ( const char * vv)

permet d'ajouter une variable en specifiant sa chaine representative (par ex. : x, y1 etc...)

Definition at line 565 of file Parser.cpp.

◆ eval() [1/2]

double Parser::eval ( )
inline

Sert a evaluer l'expression mathematique correspondante a la chaine de caracteres. Poru cela il faut avant toute chose construire l'arbre par la methode parseString().

Definition at line 68 of file Parser.h.

◆ eval() [2/2]

double Parser::eval ( const PNodePod & node)
inlineprotected

Definition at line 123 of file Parser.h.

◆ evalFunc()

KOKKOS_INLINE_FUNCTION double Parser::evalFunc ( const PNodePod & node,
double x )
protected

Definition at line 177 of file Parser.h.

◆ evalOp()

KOKKOS_INLINE_FUNCTION double Parser::evalOp ( const PNodePod & node,
double x,
double y )
protected

Definition at line 257 of file Parser.h.

◆ getmaxVar()

int Parser::getmaxVar ( )
inline

Definition at line 99 of file Parser.h.

◆ getNbVar()

int Parser::getNbVar ( )
inline

Definition at line 100 of file Parser.h.

◆ getString()

std::string & Parser::getString ( )
inline

Definition at line 101 of file Parser.h.

◆ init_parser()

void Parser::init_parser ( )

Definition at line 73 of file Parser.cpp.

◆ LIST()

Parser::LIST ( Constante )
protected

◆ parserState0()

void Parser::parserState0 ( StringTokenizer * tokenizer,
PSTACK(PNode) * ob,
STACK(int) * op )
protected

Definition at line 255 of file Parser.cpp.

◆ parserState1()

void Parser::parserState1 ( StringTokenizer * tokenizer,
PSTACK(PNode) * ob,
STACK(int) * op )
protected

Definition at line 343 of file Parser.cpp.

◆ parserState2()

void Parser::parserState2 ( StringTokenizer * tokenizer,
PSTACK(PNode) * ob,
STACK(int) * op )
protected

Definition at line 416 of file Parser.cpp.

◆ parseString()

void Parser::parseString ( )
virtual

Construit l'arbre correspondant a la chaine de caracteres. Cet arbre doit etre construit une seule fois et la chaine de caractere est evaluee en parcourant cet arbre par la methode eval() autant de fois qu'on le souhaite.

Reimplemented in ParserView.

Definition at line 124 of file Parser.cpp.

◆ precedence()

int Parser::precedence ( int op)
staticprotected

Definition at line 213 of file Parser.cpp.

◆ searchCst()

int Parser::searchCst ( const std::string & v)
protected

Definition at line 591 of file Parser.cpp.

◆ searchFunc()

int Parser::searchFunc ( const std::string & v)
protected

Definition at line 607 of file Parser.cpp.

◆ searchVar() [1/2]

int Parser::searchVar ( const char * sv)
inlineprotected

Definition at line 170 of file Parser.h.

◆ searchVar() [2/2]

int Parser::searchVar ( const std::string & s)
inlineprotected

Definition at line 149 of file Parser.h.

◆ set()

void Parser::set ( const Parser & p)

Definition at line 53 of file Parser.cpp.

◆ setImpulsion()

void Parser::setImpulsion ( double tinit,
double periode )
inline

Fixe le temps initial et la periode de la fonction impulsion

Definition at line 111 of file Parser.h.

◆ setNbVar()

void Parser::setNbVar ( int nvar)
virtual

Fixe le nombre max de variables a indiquer avec la methode addVar.

Definition at line 116 of file Parser.cpp.

◆ setString()

void Parser::setString ( const std::string & s)
inline

Definition at line 102 of file Parser.h.

◆ setVar() [1/3]

void Parser::setVar ( const char * sv,
double val )
inline

Fixe la valeur de la variable representee par une chaine sv.

Definition at line 73 of file Parser.h.

◆ setVar() [2/3]

void Parser::setVar ( const std::string & v,
double val )
inline

Fixe la valeur de la variable representee par v.

Definition at line 78 of file Parser.h.

◆ setVar() [3/3]

void Parser::setVar ( int i,
double val )
inline

Fixe la valeur de la variable de numero specifie. Ce numero correspondt a l'ordre de l'ajout des variables par la methode addVar().

Definition at line 83 of file Parser.h.

◆ test_op_binaire()

int Parser::test_op_binaire ( int type)
protected

Definition at line 411 of file Parser.cpp.

Member Data Documentation

◆ c_pi

Constante Parser::c_pi
protected

Definition at line 154 of file Parser.h.

◆ impuls_T

double Parser::impuls_T
protected

Definition at line 155 of file Parser.h.

◆ impuls_t0

double Parser::impuls_t0
protected

Definition at line 156 of file Parser.h.

◆ impuls_tempo

double Parser::impuls_tempo
protected

Definition at line 158 of file Parser.h.

◆ impuls_tn

double Parser::impuls_tn
protected

Definition at line 157 of file Parser.h.

◆ ivar

int Parser::ivar
protected

Definition at line 167 of file Parser.h.

◆ les_var

ArrOfDouble Parser::les_var
protected

Definition at line 163 of file Parser.h.

◆ les_var_names

Noms Parser::les_var_names
protected

Definition at line 164 of file Parser.h.

◆ map_function_

std::map<std::string, int> Parser::map_function_
protected

Definition at line 166 of file Parser.h.

◆ maxvar

int Parser::maxvar
protected

Definition at line 167 of file Parser.h.

◆ PNodes

std::vector<PNodePod> Parser::PNodes
protected

Definition at line 161 of file Parser.h.

◆ root

PNode* Parser::root
protected

Definition at line 160 of file Parser.h.

◆ state

int Parser::state
protected

Definition at line 153 of file Parser.h.

◆ str

std::string Parser::str
protected

Definition at line 162 of file Parser.h.


The documentation for this class was generated from the following files:
  • /home/docs/checkouts/readthedocs.org/user_builds/cea-trust-platform/checkouts/v1.9.8/src/Kernel/Math/Parser.h
  • /home/docs/checkouts/readthedocs.org/user_builds/cea-trust-platform/checkouts/v1.9.8/src/Kernel/Math/Parser.cpp