diff options
Diffstat (limited to 'starmath/inc/parse.hxx')
-rw-r--r-- | starmath/inc/parse.hxx | 250 |
1 files changed, 125 insertions, 125 deletions
diff --git a/starmath/inc/parse.hxx b/starmath/inc/parse.hxx index 5018340b5a01..f549abf4c285 100644 --- a/starmath/inc/parse.hxx +++ b/starmath/inc/parse.hxx @@ -41,87 +41,87 @@ class SmDocShell; // TokenGroups -#define TGOPER 0x00000001 -#define TGRELATION 0x00000002 -#define TGSUM 0x00000004 -#define TGPRODUCT 0x00000008 -#define TGUNOPER 0x00000010 -#define TGPOWER 0x00000020 -#define TGATTRIBUT 0x00000040 -#define TGALIGN 0x00000080 -#define TGFUNCTION 0x00000100 -#define TGBLANK 0x00000200 -#define TGLBRACES 0x00000400 -#define TGRBRACES 0x00000800 -#define TGCOLOR 0x00001000 -#define TGFONT 0x00002000 -#define TGSTANDALONE 0x00004000 -#define TGDISCARDED 0x00008000 -#define TGLIMIT 0x00010000 -#define TGFONTATTR 0x00020000 +#define TGOPER 0x00000001 +#define TGRELATION 0x00000002 +#define TGSUM 0x00000004 +#define TGPRODUCT 0x00000008 +#define TGUNOPER 0x00000010 +#define TGPOWER 0x00000020 +#define TGATTRIBUT 0x00000040 +#define TGALIGN 0x00000080 +#define TGFUNCTION 0x00000100 +#define TGBLANK 0x00000200 +#define TGLBRACES 0x00000400 +#define TGRBRACES 0x00000800 +#define TGCOLOR 0x00001000 +#define TGFONT 0x00002000 +#define TGSTANDALONE 0x00004000 +#define TGDISCARDED 0x00008000 +#define TGLIMIT 0x00010000 +#define TGFONTATTR 0x00020000 enum SmTokenType { - TEND, TLGROUP, TRGROUP, TLPARENT, TRPARENT, - TLBRACKET, TRBRACKET, TPLUS, TMINUS, TMULTIPLY, - TDIVIDEBY, TASSIGN, TPOUND, TSPECIAL, TSLASH, - TBACKSLASH, TBLANK, TSBLANK, TRSUB, TRSUP, - TCSUB, TCSUP, TLSUB, TLSUP, TGT, - TLT, TAND, TOR, TINTERSECT, TUNION, - TNEWLINE, TBINOM, TFROM, TTO, TINT, - TSUM, TOPER, TABS, TSQRT, TFACT, - TNROOT, TOVER, TTIMES, TGE, TLE, - TGG, TLL, TDOTSAXIS, TDOTSLOW, TDOTSVERT, - TDOTSDIAG, TDOTSUP, TDOTSDOWN, TACUTE, TBAR, - TBREVE, TCHECK, TCIRCLE, TDOT, TDDOT, - TDDDOT, TGRAVE, THAT, TTILDE, TVEC, - TUNDERLINE, TOVERLINE, TOVERSTRIKE, TITALIC, TNITALIC, - TBOLD, TNBOLD, TPHANTOM, TFONT, TSIZE, - TCOLOR, TALIGNL, TALIGNC, TALIGNR, TLEFT, - TRIGHT, TLANGLE, TLBRACE, TLLINE, TLDLINE, - TLCEIL, TLFLOOR, TNONE, TMLINE, TRANGLE, - TRBRACE, TRLINE, TRDLINE, TRCEIL, TRFLOOR, - TSIN, TCOS, TTAN, TCOT, TFUNC, - TSTACK, TMATRIX, TMATFORM, TDPOUND, TPLACE, - TTEXT, TNUMBER, TCHARACTER, TIDENT, TNEQ, - TEQUIV, TDEF, TPROP, TSIM, TSIMEQ, - TAPPROX, TPARALLEL, TORTHO, TIN, TNOTIN, - TSUBSET, TSUBSETEQ, TSUPSET, TSUPSETEQ, TPLUSMINUS, - TMINUSPLUS, TOPLUS, TOMINUS, TDIV, TOTIMES, - TODIVIDE, TTRANSL, TTRANSR, TIINT, TIIINT, - TLINT, TLLINT, TLLLINT, TPROD, TCOPROD, - TFORALL, TEXISTS, TLIM, TNABLA, TTOWARD, - TSINH, TCOSH, TTANH, TCOTH, TASIN, - TACOS, TATAN, TLN, TLOG, TUOPER, - TBOPER, TBLACK, TWHITE, TRED, TGREEN, - TBLUE, TCYAN, TMAGENTA, TYELLOW, TFIXED, - TSANS, TSERIF, TPOINT, TASINH, TACOSH, - TATANH, TACOTH, TACOT, TEXP, TCDOT, - TODOT, TLESLANT, TGESLANT, TNSUBSET, TNSUPSET, - TNSUBSETEQ, TNSUPSETEQ, TPARTIAL, TNEG, TNI, - TBACKEPSILON, TALEPH, TIM, TRE, TWP, - TEMPTYSET, TINFINITY, TESCAPE, TLIMSUP, TLIMINF, - TNDIVIDES, TDRARROW, TDLARROW, TDLRARROW, TUNDERBRACE, - TOVERBRACE, TCIRC, TTOP, THBAR, TLAMBDABAR, - TLEFTARROW, TRIGHTARROW, TUPARROW, TDOWNARROW, TDIVIDES, - TNDIBVIDES, TSETN, TSETZ, TSETQ, TSETR, - TSETC, TWIDEVEC, TWIDETILDE, TWIDEHAT, TWIDESLASH, - TWIDEBACKSLASH, TLDBRACKET, TRDBRACKET, TNOSPACE, - TUNKNOWN, TDEBUG + TEND, TLGROUP, TRGROUP, TLPARENT, TRPARENT, + TLBRACKET, TRBRACKET, TPLUS, TMINUS, TMULTIPLY, + TDIVIDEBY, TASSIGN, TPOUND, TSPECIAL, TSLASH, + TBACKSLASH, TBLANK, TSBLANK, TRSUB, TRSUP, + TCSUB, TCSUP, TLSUB, TLSUP, TGT, + TLT, TAND, TOR, TINTERSECT, TUNION, + TNEWLINE, TBINOM, TFROM, TTO, TINT, + TSUM, TOPER, TABS, TSQRT, TFACT, + TNROOT, TOVER, TTIMES, TGE, TLE, + TGG, TLL, TDOTSAXIS, TDOTSLOW, TDOTSVERT, + TDOTSDIAG, TDOTSUP, TDOTSDOWN, TACUTE, TBAR, + TBREVE, TCHECK, TCIRCLE, TDOT, TDDOT, + TDDDOT, TGRAVE, THAT, TTILDE, TVEC, + TUNDERLINE, TOVERLINE, TOVERSTRIKE, TITALIC, TNITALIC, + TBOLD, TNBOLD, TPHANTOM, TFONT, TSIZE, + TCOLOR, TALIGNL, TALIGNC, TALIGNR, TLEFT, + TRIGHT, TLANGLE, TLBRACE, TLLINE, TLDLINE, + TLCEIL, TLFLOOR, TNONE, TMLINE, TRANGLE, + TRBRACE, TRLINE, TRDLINE, TRCEIL, TRFLOOR, + TSIN, TCOS, TTAN, TCOT, TFUNC, + TSTACK, TMATRIX, TMATFORM, TDPOUND, TPLACE, + TTEXT, TNUMBER, TCHARACTER, TIDENT, TNEQ, + TEQUIV, TDEF, TPROP, TSIM, TSIMEQ, + TAPPROX, TPARALLEL, TORTHO, TIN, TNOTIN, + TSUBSET, TSUBSETEQ, TSUPSET, TSUPSETEQ, TPLUSMINUS, + TMINUSPLUS, TOPLUS, TOMINUS, TDIV, TOTIMES, + TODIVIDE, TTRANSL, TTRANSR, TIINT, TIIINT, + TLINT, TLLINT, TLLLINT, TPROD, TCOPROD, + TFORALL, TEXISTS, TLIM, TNABLA, TTOWARD, + TSINH, TCOSH, TTANH, TCOTH, TASIN, + TACOS, TATAN, TLN, TLOG, TUOPER, + TBOPER, TBLACK, TWHITE, TRED, TGREEN, + TBLUE, TCYAN, TMAGENTA, TYELLOW, TFIXED, + TSANS, TSERIF, TPOINT, TASINH, TACOSH, + TATANH, TACOTH, TACOT, TEXP, TCDOT, + TODOT, TLESLANT, TGESLANT, TNSUBSET, TNSUPSET, + TNSUBSETEQ, TNSUPSETEQ, TPARTIAL, TNEG, TNI, + TBACKEPSILON, TALEPH, TIM, TRE, TWP, + TEMPTYSET, TINFINITY, TESCAPE, TLIMSUP, TLIMINF, + TNDIVIDES, TDRARROW, TDLARROW, TDLRARROW, TUNDERBRACE, + TOVERBRACE, TCIRC, TTOP, THBAR, TLAMBDABAR, + TLEFTARROW, TRIGHTARROW, TUPARROW, TDOWNARROW, TDIVIDES, + TNDIBVIDES, TSETN, TSETZ, TSETQ, TSETR, + TSETC, TWIDEVEC, TWIDETILDE, TWIDEHAT, TWIDESLASH, + TWIDEBACKSLASH, TLDBRACKET, TRDBRACKET, TNOSPACE, + TUNKNOWN, TDEBUG }; struct SmToken { // token text - String aText; + String aText; // token info SmTokenType eType; - sal_Unicode cMathChar; + sal_Unicode cMathChar; // parse-help info - ULONG nGroup; - USHORT nLevel; + ULONG nGroup; + USHORT nLevel; // token position USHORT nRow; xub_StrLen nCol; @@ -137,16 +137,16 @@ struct SmToken enum SmParseError { - PE_NONE, PE_UNEXPECTED_END_OF_INPUT, - PE_UNEXPECTED_CHAR, PE_UNEXPECTED_TOKEN, - PE_FUNC_EXPECTED, PE_UNOPER_EXPECTED, - PE_BINOPER_EXPECTED, PE_SYMBOL_EXPECTED, - PE_IDENTIFIER_EXPECTED, PE_POUND_EXPECTED, - PE_COLOR_EXPECTED, PE_LGROUP_EXPECTED, - PE_RGROUP_EXPECTED, PE_LBRACE_EXPECTED, - PE_RBRACE_EXPECTED, PE_PARENT_MISMATCH, - PE_RIGHT_EXPECTED, PE_FONT_EXPECTED, - PE_SIZE_EXPECTED, PE_DOUBLE_ALIGN, + PE_NONE, PE_UNEXPECTED_END_OF_INPUT, + PE_UNEXPECTED_CHAR, PE_UNEXPECTED_TOKEN, + PE_FUNC_EXPECTED, PE_UNOPER_EXPECTED, + PE_BINOPER_EXPECTED, PE_SYMBOL_EXPECTED, + PE_IDENTIFIER_EXPECTED, PE_POUND_EXPECTED, + PE_COLOR_EXPECTED, PE_LGROUP_EXPECTED, + PE_RGROUP_EXPECTED, PE_LBRACE_EXPECTED, + PE_RBRACE_EXPECTED, PE_PARENT_MISMATCH, + PE_RIGHT_EXPECTED, PE_FONT_EXPECTED, + PE_SIZE_EXPECTED, PE_DOUBLE_ALIGN, PE_DOUBLE_SUBSUPSCRIPT }; @@ -154,8 +154,8 @@ enum SmParseError struct SmErrorDesc { SmParseError Type; - SmNode *pNode; - String Text; + SmNode *pNode; + String Text; }; DECLARE_STACK(SmNodeStack, SmNode *) @@ -175,11 +175,11 @@ enum SmConvert struct SmTokenTableEntry { - const sal_Char* pIdent; - SmTokenType eType; - sal_Unicode cMathChar; - ULONG nGroup; - USHORT nLevel; + const sal_Char* pIdent; + SmTokenType eType; + sal_Unicode cMathChar; + ULONG nGroup; + USHORT nLevel; }; class SmParser @@ -204,57 +204,57 @@ class SmParser protected: #if OSL_DEBUG_LEVEL - BOOL IsDelimiter( const String &rTxt, xub_StrLen nPos ); + BOOL IsDelimiter( const String &rTxt, xub_StrLen nPos ); #endif - void NextToken(); - xub_StrLen GetTokenIndex() const { return nTokenIndex; } - void Insert(const String &rText, USHORT nPos); + void NextToken(); + xub_StrLen GetTokenIndex() const { return nTokenIndex; } + void Insert(const String &rText, USHORT nPos); void Replace( USHORT nPos, USHORT nLen, const String &rText ); - inline BOOL TokenInGroup(ULONG nGroup); + inline BOOL TokenInGroup(ULONG nGroup); // grammar - void Table(); - void Line(); - void Expression(); - void Relation(); - void Sum(); - void Product(); - void SubSup(ULONG nActiveGroup); - void OpSubSup(); - void Power(); - void Blank(); - void Term(); - void Escape(); - void Operator(); - void Oper(); - void UnOper(); - void Align(); - void FontAttribut(); - void Attribut(); - void Font(); - void FontSize(); - void Color(); - void Brace(); - void Bracebody(BOOL bIsLeftRight); - void Function(); - void Binom(); - void Stack(); - void Matrix(); - void Special(); - void GlyphSpecial(); + void Table(); + void Line(); + void Expression(); + void Relation(); + void Sum(); + void Product(); + void SubSup(ULONG nActiveGroup); + void OpSubSup(); + void Power(); + void Blank(); + void Term(); + void Escape(); + void Operator(); + void Oper(); + void UnOper(); + void Align(); + void FontAttribut(); + void Attribut(); + void Font(); + void FontSize(); + void Color(); + void Brace(); + void Bracebody(BOOL bIsLeftRight); + void Function(); + void Binom(); + void Stack(); + void Matrix(); + void Special(); + void GlyphSpecial(); // end of grammar LanguageType GetLanguage() const { return nLang; } void SetLanguage( LanguageType nNewLang ) { nLang = nNewLang; } - void Error(SmParseError Error); + void Error(SmParseError Error); public: SmParser(); /** Parse rBuffer to formula tree */ - SmNode *Parse(const String &rBuffer); + SmNode *Parse(const String &rBuffer); /** Parse rBuffer to formula subtree that constitutes an expression */ SmNode *ParseExpression(const String &rBuffer); @@ -268,11 +268,11 @@ public: BOOL IsExportSymbolNames() const { return bExportSymNames; } void SetExportSymbolNames(BOOL bVal) { bExportSymNames = bVal; } - USHORT AddError(SmParseError Type, SmNode *pNode); + USHORT AddError(SmParseError Type, SmNode *pNode); - const SmErrorDesc * NextError(); - const SmErrorDesc * PrevError(); - const SmErrorDesc * GetError(USHORT i = 0xFFFF); + const SmErrorDesc * NextError(); + const SmErrorDesc * PrevError(); + const SmErrorDesc * GetError(USHORT i = 0xFFFF); static const SmTokenTableEntry* GetTokenTableEntry( const String &rName ); }; |