|
bool | convert (librevenge::RVNGString const &starMath, std::vector< LexerData > &lexList) const |
| convert a StarMath string in a list of lexer data.
|
|
bool | convertInMML (Node const &node, bool inRow=false) |
| try to convert a node in a starMML
|
|
bool | convertPositionOverbraceInMML (Node const &node) |
| try to convert a position node in a starMML
|
|
bool | convertPositionUnderbraceInMML (Node const &node) |
| try to convert a position node in a starMML
|
|
bool | convertPositionInMML (Node const &node) |
| try to convert a position node in a starMML
|
|
void | findAndAddAlignment (Node &node, bool &colFound, bool &rowFound) |
| try to add the alignment
|
|
bool | sendMathVariant () |
| try to send the font style
|
|
std::shared_ptr< Node > | expr () const |
| try to parse an expr: {newline|sequenceExpr}*
|
|
std::shared_ptr< Node > | sequenceExpr (size_t &pos, bool newLineIsBad=false, int stackOrMatrixType=0) const |
| try to parse a sequence of expr
|
|
std::shared_ptr< Node > | relationExpr (size_t &pos) const |
| try to parse an relation expr: additionExpr{[=,==,...]additionExpr}
|
|
std::shared_ptr< Node > | additionExpr (size_t &pos) const |
| try to parse an addition expr: multiplyExpr{[+,-,in,or,...]multiplyExpr}
|
|
std::shared_ptr< Node > | multiplicationExpr (size_t &pos) const |
| try to parse an multiplication expr: positionExpr{[*,/,over,...]positionExpr}
|
|
std::shared_ptr< Node > | positionExpr (size_t &pos) const |
| try to parse a position expr: functionExpr{[^,_,sub,sup]functionExpr} first child is sub, second child is sup
|
|
std::shared_ptr< Node > | unaryOperatorExpr (size_t &pos, bool inPosition=false) const |
| try to parse a unary operator expr:
|
|
std::shared_ptr< Node > | functionExpr (size_t &pos, bool inPosition=false) const |
| try to parse a function expr: blockExpr | unaryOpExpr
|
|
std::shared_ptr< Node > | parenthesisExpr (size_t &pos) const |
| try to parse a parenthesis expr:
|
|
std::shared_ptr< Node > | rightParenthesisExpr (size_t &pos, std::shared_ptr< Node > term) const |
| look for alone right parenthesis
|
|
std::shared_ptr< Node > | leftParenthesisExpr (size_t &pos, std::function< std::shared_ptr< Node >(size_t &)> function) const |
| look for alone left parenthesis
|
|
std::shared_ptr< Node > | elementExpr (size_t &pos) const |
| try to parse a element expr:
|
|
void | ignoreSpaces (size_t &pos) const |
| ignore the following space
|
|
void | ignoreSpaces (size_t &pos, std::string &spaces) const |
| ignore the following space
|
|
|
std::vector< LexerData > | m_dataList |
| the star math data
|
|
std::stringstream | m_output |
| the output stream
|
|
double | m_fontSize |
| the current font size
|
|
bool | m_bold |
| a flag to know if we are in bold or not
|
|
bool | m_italic |
| a flag to know if we are in italic or not
|
|
std::string | m_fontName |
| the font name
|
|
std::set< std::string > | m_colorSet |
| the set of potential color
|
|
std::map< std::string, std::string > | m_fontMap |
| the font convert map
|
|
std::map< std::string, std::string > | m_greekMap |
| the greek convert map
|
|
std::map< std::string, std::string > | m_specialPercentMap |
| the special percent convert map
|
|
std::map< std::string, std::string > | m_otherSpecialMap |
| the remaining special key word
|
|
std::map< std::string, std::string > | m_parenthesisMap |
| the parenthesis left/right map
|
|
std::set< std::string > | m_parenthesisRightSet |
| the parenthesis right map
|
|
std::map< std::string, std::string > | m_parenthesisToStringMap |
| the parenthesis unicode map
|
|
std::map< std::string, std::string > | m_unaryOperatorMap |
| the unary operator
|
|
std::set< std::string > | m_function1Set |
| the function which have one argument
|
|
std::set< std::string > | m_function2Set |
| the function which have two argument
|
|
std::map< std::string, std::string > | m_integralMap |
| the function which have one to three argument (from to optional)
|
|
std::map< std::string, std::string > | m_accent1Map |
| the accent which have one argument
|
|
std::set< std::string > | m_accent1Set |
| the accent which have one argument
|
|
std::map< std::string, int > | m_positionMap |
| position symbol map
|
|
std::map< std::string, std::string > | m_multiplicationMap |
| multiplication symbol operator
|
|
std::map< std::string, std::string > | m_multiplicationStringMap |
| multiplication symbol string operator
|
|
std::set< std::string > | m_additionSet |
| addition symbol operator
|
|
std::map< std::string, std::string > | m_additionStringMap |
| addition symbol string operator
|
|
std::map< std::string, std::string > | m_relationMap |
| relation symbol operator
|
|
std::map< std::string, std::string > | m_relationStringMap |
| relation symbol string operator
|
|
class to parse a StarMath string
bool STOFFStarMathToMMLConverterInternal::Parser::convert |
( |
librevenge::RVNGString const & | starMath, |
|
|
std::vector< LexerData > & | lexList ) const |
|
protected |
convert a StarMath string in a list of lexer data.
try to merge together the number zone, the placeholder <?>, the "XXX" string zone and some double symbols +-, -+, ##, <=, ...