Go to the documentation of this file.
34 #ifndef STOFF_STARMATHTOMML_CONVERTER_H
35 #define STOFF_STARMATHTOMML_CONVERTER_H
49 static bool convertStarMath(librevenge::RVNGString
const &starMath, librevenge::RVNGString &mml);
Definition: STOFFStarMathToMMLConverter.cxx:90
std::shared_ptr< Node > elementExpr(size_t &pos) const
try to parse a element expr:
Definition: STOFFStarMathToMMLConverter.cxx:1251
Definition: STOFFStarMathToMMLConverter.cxx:90
Definition: STOFFStarMathToMMLConverter.cxx:75
friend std::ostream & operator<<(std::ostream &o, Node const &nd)
operator<<
Definition: STOFFStarMathToMMLConverter.cxx:108
Type
the different lexer type
Definition: STOFFStarMathToMMLConverter.cxx:75
std::string m_function
the function
Definition: STOFFStarMathToMMLConverter.cxx:130
std::shared_ptr< Node > unaryOperatorExpr(size_t &pos, bool inPosition=false) const
try to parse a unary operator expr:
Definition: STOFFStarMathToMMLConverter.cxx:917
static std::string getEscapedString(std::string const &str)
html escape a string
Definition: STOFFStarMathToMMLConverter.cxx:444
void findAndAddAlignment(Node &node, bool &colFound, bool &rowFound)
try to add the alignment
Definition: STOFFStarMathToMMLConverter.cxx:1289
Definition: STOFFStarMathToMMLConverter.cxx:93
std::map< std::string, std::string > m_multiplicationStringMap
multiplication symbol string operator
Definition: STOFFStarMathToMMLConverter.cxx:549
#define STOFF_DEBUG_MSG(M)
Definition: libstaroffice_internal.hxx:129
std::set< std::string > m_additionSet
addition symbol operator
Definition: STOFFStarMathToMMLConverter.cxx:551
std::shared_ptr< Node > relationExpr(size_t &pos) const
try to parse an relation expr: additionExpr{[=,==,...]additionExpr}
Definition: STOFFStarMathToMMLConverter.cxx:682
Type m_type
the main type
Definition: STOFFStarMathToMMLConverter.cxx:83
std::map< std::string, std::string > m_unaryOperatorMap
the unary operator
Definition: STOFFStarMathToMMLConverter.cxx:533
std::string m_spaces
the different spaces
Definition: STOFFStarMathToMMLConverter.cxx:128
Definition: STOFFStarMathToMMLConverter.cxx:95
std::shared_ptr< Node > leftParenthesisExpr(size_t &pos, std::function< std::shared_ptr< Node >(size_t &)> function) const
look for alone left parenthesis
Definition: STOFFStarMathToMMLConverter.cxx:1196
Definition: STOFFStarMathToMMLConverter.cxx:92
a lexer data
Definition: STOFFStarMathToMMLConverter.cxx:73
std::map< std::string, std::string > m_otherSpecialMap
the remaining special key word
Definition: STOFFStarMathToMMLConverter.cxx:525
void ignoreSpaces(size_t &pos) const
ignore the following space
Definition: STOFFStarMathToMMLConverter.cxx:489
std::map< std::string, std::string > m_multiplicationMap
multiplication symbol operator
Definition: STOFFStarMathToMMLConverter.cxx:547
std::set< std::string > m_parenthesisRightSet
the parenthesis right map
Definition: STOFFStarMathToMMLConverter.cxx:529
std::shared_ptr< Node > additionExpr(size_t &pos) const
try to parse an addition expr: multiplyExpr{[+,-,in,or,...]multiplyExpr}
Definition: STOFFStarMathToMMLConverter.cxx:730
std::string toLower(std::string const &strToConvert)
Definition: STOFFStarMathToMMLConverter.cxx:57
std::shared_ptr< Node > functionExpr(size_t &pos, bool inPosition=false) const
try to parse a function expr: blockExpr | unaryOpExpr
Definition: STOFFStarMathToMMLConverter.cxx:944
Definition: STOFFStarMathToMMLConverter.cxx:75
std::set< std::string > m_function1Set
the function which have one argument
Definition: STOFFStarMathToMMLConverter.cxx:535
Node(Type type=Unknown, std::string const &spaces="")
constructor
Definition: STOFFStarMathToMMLConverter.cxx:99
void ignoreSpaces(size_t &pos, std::string &spaces) const
ignore the following space
Definition: STOFFStarMathToMMLConverter.cxx:495
std::string m_data
the data
Definition: STOFFStarMathToMMLConverter.cxx:132
double m_fontSize
the current font size
Definition: STOFFStarMathToMMLConverter.cxx:509
Definition: STOFFStarMathToMMLConverter.cxx:75
std::map< std::string, std::string > m_accent1Map
the accent which have one argument
Definition: STOFFStarMathToMMLConverter.cxx:541
Definition: STOFFStarMathToMMLConverter.cxx:95
std::map< std::string, std::string > m_additionStringMap
addition symbol string operator
Definition: STOFFStarMathToMMLConverter.cxx:553
Definition: STOFFStarMathToMMLConverter.cxx:90
bool convertPositionUnderbraceInMML(Node const &node)
try to convert a position node in a starMML
Definition: STOFFStarMathToMMLConverter.cxx:1827
Definition: STOFFStarMathToMMLConverter.cxx:75
bool m_italic
a flag to know if we are in italic or not
Definition: STOFFStarMathToMMLConverter.cxx:513
std::string m_fontName
the font name
Definition: STOFFStarMathToMMLConverter.cxx:515
std::shared_ptr< Node > positionExpr(size_t &pos) const
try to parse a position expr: functionExpr{[^,_,sub,sup]functionExpr} first child is sub,...
Definition: STOFFStarMathToMMLConverter.cxx:828
Definition: STOFFStarMathToMMLConverter.cxx:75
std::map< std::string, int > m_positionMap
position symbol map
Definition: STOFFStarMathToMMLConverter.cxx:545
std::stringstream m_output
the output stream
Definition: STOFFStarMathToMMLConverter.cxx:507
std::set< std::string > m_function2Set
the function which have two argument
Definition: STOFFStarMathToMMLConverter.cxx:537
std::shared_ptr< Node > sequenceExpr(size_t &pos, bool newLineIsBad=false, int stackOrMatrixType=0) const
try to parse a sequence of expr
Definition: STOFFStarMathToMMLConverter.cxx:625
std::vector< LexerData > m_dataList
the star math data
Definition: STOFFStarMathToMMLConverter.cxx:505
Definition: STOFFStarMathToMMLConverter.cxx:92
Definition: STOFFStarMathToMMLConverter.cxx:75
std::shared_ptr< Node > expr() const
try to parse an expr: {newline|sequenceExpr}*
Definition: STOFFStarMathToMMLConverter.cxx:560
std::map< std::string, std::string > m_integralMap
the function which have one to three argument (from to optional)
Definition: STOFFStarMathToMMLConverter.cxx:539
std::set< std::string > m_colorSet
the set of potential color
Definition: STOFFStarMathToMMLConverter.cxx:517
bool parse(librevenge::RVNGString const &formula, librevenge::RVNGString &res)
try to parse a StarMath string
Definition: STOFFStarMathToMMLConverter.cxx:1909
Type
the node type
Definition: STOFFStarMathToMMLConverter.cxx:90
bool convertInMML(Node const &node, bool inRow=false)
try to convert a node in a starMML
Definition: STOFFStarMathToMMLConverter.cxx:1333
Definition: STOFFStarMathToMMLConverter.cxx:96
std::map< std::string, std::string > m_specialPercentMap
the special percent convert map
Definition: STOFFStarMathToMMLConverter.cxx:523
Definition: STOFFStarMathToMMLConverter.cxx:91
static bool icmp(const std::string &str1, const std::string &str2)
insenstive comparison
Definition: STOFFStarMathToMMLConverter.cxx:47
namespace to define a basic lexer, parser
Definition: STOFFStarMathToMMLConverter.cxx:44
STOFFStarMathToMMLConverter()
constructor
Definition: STOFFStarMathToMMLConverter.hxx:44
std::set< std::string > m_accent1Set
the accent which have one argument
Definition: STOFFStarMathToMMLConverter.cxx:543
Type m_type
the node type
Definition: STOFFStarMathToMMLConverter.cxx:126
std::map< std::string, std::string > m_relationMap
relation symbol operator
Definition: STOFFStarMathToMMLConverter.cxx:555
Definition: STOFFStarMathToMMLConverter.cxx:96
bool sendMathVariant()
try to send the font style
Definition: STOFFStarMathToMMLConverter.cxx:1274
Definition: STOFFStarMathToMMLConverter.cxx:93
Definition: STOFFStarMathToMMLConverter.cxx:92
bool m_bold
a flag to know if we are in bold or not
Definition: STOFFStarMathToMMLConverter.cxx:511
Parser()
constructor
Definition: STOFFStarMathToMMLConverter.cxx:142
Definition: STOFFStarMathToMMLConverter.cxx:96
std::vector< std::shared_ptr< Node > > m_childs
list of child
Definition: STOFFStarMathToMMLConverter.cxx:134
std::map< std::string, std::string > m_relationStringMap
relation symbol string operator
Definition: STOFFStarMathToMMLConverter.cxx:557
bool convertPositionOverbraceInMML(Node const &node)
try to convert a position node in a starMML
Definition: STOFFStarMathToMMLConverter.cxx:1813
std::map< std::string, std::string > m_greekMap
the greek convert map
Definition: STOFFStarMathToMMLConverter.cxx:521
std::shared_ptr< Node > rightParenthesisExpr(size_t &pos, std::shared_ptr< Node > term) const
look for alone right parenthesis
Definition: STOFFStarMathToMMLConverter.cxx:1226
basic class to convert a StarMath formula in MML
Definition: STOFFStarMathToMMLConverter.hxx:40
std::map< std::string, std::string > m_parenthesisToStringMap
the parenthesis unicode map
Definition: STOFFStarMathToMMLConverter.cxx:531
LexerData()
constructor
Definition: STOFFStarMathToMMLConverter.cxx:77
std::shared_ptr< Node > multiplicationExpr(size_t &pos) const
try to parse an multiplication expr: positionExpr{[*,/,over,...]positionExpr}
Definition: STOFFStarMathToMMLConverter.cxx:766
std::string m_string
the data
Definition: STOFFStarMathToMMLConverter.cxx:85
a data node
Definition: STOFFStarMathToMMLConverter.cxx:88
static bool convertStarMath(librevenge::RVNGString const &starMath, librevenge::RVNGString &mml)
try to convert a StarMath formula to a MML formula
Definition: STOFFStarMathToMMLConverter.cxx:2110
Definition: STOFFStarMathToMMLConverter.cxx:91
std::shared_ptr< Node > parenthesisExpr(size_t &pos) const
try to parse a parenthesis expr:
Definition: STOFFStarMathToMMLConverter.cxx:1123
std::string toUpper(std::string const &strToConvert)
Definition: STOFFStarMathToMMLConverter.cxx:64
std::map< std::string, std::string > m_parenthesisMap
the parenthesis left/right map
Definition: STOFFStarMathToMMLConverter.cxx:527
bool convert(librevenge::RVNGString const &starMath, std::vector< LexerData > &lexList) const
convert a StarMath string in a list of lexer data.
Definition: STOFFStarMathToMMLConverter.cxx:1939
Definition: STOFFStarMathToMMLConverter.cxx:92
class to parse a StarMath string
Definition: STOFFStarMathToMMLConverter.cxx:138
Definition: STOFFStarMathToMMLConverter.cxx:94
Definition: STOFFStarMathToMMLConverter.cxx:93
std::map< std::string, std::string > m_fontMap
the font convert map
Definition: STOFFStarMathToMMLConverter.cxx:519
Definition: STOFFStarMathToMMLConverter.cxx:95
bool convertPositionInMML(Node const &node)
try to convert a position node in a starMML
Definition: STOFFStarMathToMMLConverter.cxx:1841
Generated on Mon Jan 20 2020 23:02:18 for libstaroffice by
doxygen 1.8.16