Version: 6.3.1
Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Attributes

ParaMEDMEM.SPythonParser Class Reference

#include <SPythonParser.hxx>

Public Member Functions

 SPythonParser ()
TypeOfEntity getType () const
bool parseWithoutEqual (const std::string &s, int parLev, PyObject *glob, PyObject *loc, std::vector< SPythonParser > &alreadyParsed)
TypeOfEntity getTypeOfElt (const std::string &elt, PyObject *glob, PyObject *loc, const std::vector< SPythonParser > &alreadyParsed) const
TypeOfEntity combineType (TypeOfEntity t1, TypeOfEntity t2) const
std::string getRepr (const std::vector< SPythonParser > &v) const
std::string replaceByCompacted (const std::string &s, int parLev, int id) const
std::string substitute (const std::vector< SPythonParser > &v) const
TypeOfEntity analyzeType (PyObject *glob, PyObject *loc, const std::vector< SPythonParser > &alreadyParsed)
void keepSelectedLevOfPar (const std::string &s, int parLev, PyObject *glob, PyObject *loc)

Static Public Member Functions

static std::vector< intlevOfParenthesis (const std::string &s)
static void replaceFromCompacted (std::string &ret, const std::vector< SPythonParser > &v)
static bool isAlreadyControledParenthesis (const std::string &s)
static bool isParenthesisMatching (const std::string &s, std::string &res)
static bool isElementInParenthesisMatching (const std::string &s, std::string &result, bool &isNumber)

Static Public Attributes

static const char NUMBERS [] = "0123456789"

Private Attributes

TypeOfEntity _type
SPythonPredParser _pred
std::string _content
std::string _content_py

Detailed Description

This class works on strings previously stripped.


Constructor & Destructor Documentation

SPythonParser::SPythonParser ( )

Member Function Documentation

TypeOfEntity ParaMEDMEM.SPythonParser.getType ( ) const
bool SPythonParser::parseWithoutEqual ( const std::string &  s,
int  parLev,
PyObject *  glob,
PyObject *  loc,
std::vector< SPythonParser > &  alreadyParsed 
)
TypeOfEntity SPythonParser::getTypeOfElt ( const std::string &  elt,
PyObject *  glob,
PyObject *  loc,
const std::vector< SPythonParser > &  alreadyParsed 
) const
TypeOfEntity SPythonParser::combineType ( TypeOfEntity  t1,
TypeOfEntity  t2 
) const
std::string SPythonParser::getRepr ( const std::vector< SPythonParser > &  v) const
std::string SPythonParser::replaceByCompacted ( const std::string &  s,
int  parLev,
int  id 
) const

References med_test1.begin, and med_test1.end.

std::string SPythonParser::substitute ( const std::vector< SPythonParser > &  v) const
TypeOfEntity SPythonParser::analyzeType ( PyObject *  glob,
PyObject *  loc,
const std::vector< SPythonParser > &  alreadyParsed 
)
void SPythonParser::keepSelectedLevOfPar ( const std::string &  s,
int  parLev,
PyObject *  glob,
PyObject *  loc 
)
std::vector< int > SPythonParser::levOfParenthesis ( const std::string &  s) [static]

Size of returned vector is depth of parenthesis. Foreach level number of parenthesis groups.

References testMEDMEM.ret.

void SPythonParser::replaceFromCompacted ( std::string &  ret,
const std::vector< SPythonParser > &  v 
) [static]

References testRenumbering.id.

bool SPythonParser::isAlreadyControledParenthesis ( const std::string &  s) [static]

This method checks that s match the following regexp : "@[0123456789]?@"

References ParaMEDMEM.SPythonParser.NUMBERS.

bool SPythonParser::isParenthesisMatching ( const std::string &  w,
std::string &  res 
) [static]

This method makes the assumption that s as a minimum length of size 2 with first char == '(' and the last ')'.

References ParaMEDMEM.SPythonParser.isElementInParenthesisMatching().

bool SPythonParser::isElementInParenthesisMatching ( const std::string &  s,
std::string &  result,
bool &  isNumber 
) [static]

No assumption here check that the following regexp is followed [' ']*[0:9]*[' ']*:?[' ']*[0:9]*[' ']*

References ParaMEDMEM.SPythonParser.NUMBERS, and testMEDMEM.ret.


Field Documentation

const char SPythonParser::NUMBERS = "0123456789" [static]
std::string ParaMEDMEM.SPythonParser._content [private]
std::string ParaMEDMEM.SPythonParser._content_py [private]
Copyright © 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS