X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fmathed%2Fmath_parser.h;h=b42bb3e8fdf8a1d06b4347b56834fd63d071d6aa;hb=d359dd8fca52c4f0100f7cf4bf636113c5c4e49f;hp=cf06a946ceeed0beb536a291580cacaf57d8cd82;hpb=9295f8236e01a5e425d808eb0d2bdd0460d1f423;p=lyx.git diff --git a/src/mathed/math_parser.h b/src/mathed/math_parser.h index cf06a946ce..b42bb3e8fd 100644 --- a/src/mathed/math_parser.h +++ b/src/mathed/math_parser.h @@ -2,7 +2,7 @@ /* * File: math_parser.h * Purpose: Declaration of parsing utilities for mathed - * Author: Alejandro Aguilar Sierra + * Author: Alejandro Aguilar Sierra * Created: January 1996 * Description: Parse LaTeX2e math mode code. * @@ -24,123 +24,47 @@ #endif #include "LString.h" -#include "math_defs.h" -class MathMatrixInset; -class MathMacroTemplate; class MathAtom; class MathArray; class LyXLex; -/// -enum MathTokenEnum -{ - /// - LM_TK_SYM = 256, - /// - LM_TK_CHOOSE, - /// - LM_TK_BINOM, - /// - LM_TK_ATOP, - /// - LM_TK_OVER, - /// - LM_TK_FRAC, - /// - LM_TK_SQRT, - /// - LM_TK_ROOT, - /// - LM_TK_BEGIN, - /// - LM_TK_END, - /// - LM_TK_NEWLINE, - /// mathcal, mathrm... - LM_TK_OLDFONT, - /// cal,... - LM_TK_FONT, - /// - LM_TK_LEFT, - /// - LM_TK_RIGHT, - /// - LM_TK_DECORATION, - /// - LM_TK_FUNC, - /// - LM_TK_FUNCLIM, - /// - LM_TK_CMR, - /// - LM_TK_CMSY, - /// - LM_TK_CMM, - /// - LM_TK_CMEX, - /// - LM_TK_MSA, - /// - LM_TK_MSB, - /// - LM_TK_LABEL, - /// - LM_TK_NONUM, - /// - LM_TK_SPACE, - /// - LM_TK_DOTS, - /// - LM_TK_LIMIT, - /// - LM_TK_PROTECT, - /// - LM_TK_STY, - /// - LM_TK_SPECIAL, - /// - LM_TK_ARGUMENT, - /// - LM_TK_NEWCOMMAND, - /// - LM_TK_MATH, - /// - LM_TK_NOT, - /// - LM_TK_KERN, - /// - LM_TK_STACK -}; - /// struct latexkeys { - /// + /// name of the macro or primitive string name; - /// - short token; - /// - unsigned int id; - /// - unsigned char latex_font_id; - /// - MathSymbolTypes type; + /// name of a inset that handles that macro + string inset; + /// position of the ting in a font + string draw; + /// operator/..., fontname e + string extra; + /// how is this called as XML entity? + string xmlname; }; -/// +/// check whether this is a well-known (La)TeX macro or primitive latexkeys const * in_word_set(string const & str); -/// -void ReadSymbols(string const & file); - +/// parse formula from a string bool mathed_parse_normal(MathAtom &, string const &); +/// ... a stream bool mathed_parse_normal(MathAtom &, std::istream &); +/// ... the LyX lexxer bool mathed_parse_normal(MathAtom &, LyXLex &); -string mathed_parse_macro(string const &); -string mathed_parse_macro(std::istream &); -string mathed_parse_macro(LyXLex &); +/// parse a macro definition from a string, enter it into the macro table +bool mathed_parse_macro(string &, string const &); +/// ... a stream +bool mathed_parse_macro(string &, std::istream &); +/// ... the LyX lexxer +bool mathed_parse_macro(string &, LyXLex &); + +/// parse a single cell from a string +void mathed_parse_cell(MathArray & ar, string const &); +/// ... a stream +void mathed_parse_cell(MathArray & ar, std::istream &); #endif