// Copyright (C) 2000-2007, Luca Padovani . // // This file is part of GtkMathView, a flexible, high-quality rendering // engine for MathML documents. // // GtkMathView is free software; you can redistribute it and/or modify it // under the terms of the GNU Lesser General Public License as published // by the Free Software Foundation; either version 3 of the License, or // (at your option) any later version. // // GtkMathView is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with this program. If not, see . #ifndef __MathMLAttributeParsers_hh__ #define __MathMLAttributeParsers_hh__ #include "CommonStringParsers.hh" typedef Set TokenSet_MathVariant; typedef Set TokenSet_NamedSpace; typedef Set TokenSet_HorizontalAlign; typedef ParseTokenSet ParseMathVariant; typedef ParseTokenSet ParseNamedSpace; typedef ParseChoice ParseLengthOrNamedSpace; typedef ParseTokenSet ParseHorizontalAlign; typedef ParseTokenSet< Set > ParseSign; typedef ParseZeroOrOne ParseOptionalSign; // Element typedef ParseString Parse_MathML_Element_class; typedef ParseString Parse_MathML_Element_other; typedef ParseString Parse_MathML_Element_id; // Token typedef ParseMathVariant Parse_MathML_Token_mathvariant; typedef ParseChoice > > Parse_MathML_Token_mathsize; typedef ParseColor Parse_MathML_Token_mathcolor; typedef ParseColor Parse_MathML_Token_mathbackground; // Operator typedef ParseTokenSet< Set > Parse_MathML_Operator_form; typedef ParseBoolean Parse_MathML_Operator_fence; typedef ParseBoolean Parse_MathML_Operator_separator; typedef ParseLengthOrNamedSpace Parse_MathML_Operator_lspace; typedef ParseLengthOrNamedSpace Parse_MathML_Operator_rspace; typedef ParseBoolean Parse_MathML_Operator_stretchy; typedef ParseBoolean Parse_MathML_Operator_symmetric; typedef ParseChoice > > Parse_MathML_Operator_maxsize; typedef ParseChoice Parse_MathML_Operator_minsize; typedef ParseBoolean Parse_MathML_Operator_largeop; typedef ParseBoolean Parse_MathML_Operator_movablelimits; typedef ParseBoolean Parse_MathML_Operator_accent; // Space typedef ParseLengthOrNamedSpace Parse_MathML_Space_width; typedef ParseLengthOrNamedSpace Parse_MathML_Space_height; typedef ParseLengthOrNamedSpace Parse_MathML_Space_depth; typedef ParseTokenSet< Set > Parse_MathML_Space_linebreak; // StringLit typedef ParseString Parse_MathML_StringLit_lquote; typedef ParseString Parse_MathML_StringLit_rquote; // Glyph typedef ParseString Parse_MathML_Glyph_alt; typedef ParseString Parse_MathML_Glyph_fontfamily; typedef ParseInteger Parse_MathML_Glyph_index; // Fraction typedef ParseChoice > > > Parse_MathML_Fraction_linethickness; typedef ParseHorizontalAlign Parse_MathML_Fraction_numalign; typedef ParseHorizontalAlign Parse_MathML_Fraction_denomalign; typedef ParseBoolean Parse_MathML_Fraction_bevelled; // Style typedef ParseSeq Parse_MathML_Style_scriptlevel; typedef ParseBoolean Parse_MathML_Style_displaystyle; typedef ParseNumber Parse_MathML_Style_scriptsizemultiplier; typedef ParseLength Parse_MathML_Style_scriptminsize; typedef ParseColor Parse_MathML_Style_mathcolor; typedef ParseChoice > Parse_MathML_Style_mathbackground; typedef Parse_MathML_Style_mathcolor Parse_MathML_Style_color; typedef Parse_MathML_Style_mathbackground Parse_MathML_Style_background; typedef ParseLength Parse_MathML_Style_negativeveryverythickmathspace; typedef ParseLength Parse_MathML_Style_negativeverythickmathspace; typedef ParseLength Parse_MathML_Style_negativethickmathspace; typedef ParseLength Parse_MathML_Style_negativemediummathspace; typedef ParseLength Parse_MathML_Style_negativethinmathspace; typedef ParseLength Parse_MathML_Style_negativeverythinmathspace; typedef ParseLength Parse_MathML_Style_negativeveryverythinmathspace; typedef ParseLength Parse_MathML_Style_veryverythickmathspace; typedef ParseLength Parse_MathML_Style_verythickmathspace; typedef ParseLength Parse_MathML_Style_thickmathspace; typedef ParseLength Parse_MathML_Style_mediummathspace; typedef ParseLength Parse_MathML_Style_thinmathspace; typedef ParseLength Parse_MathML_Style_verythinmathspace; typedef ParseLength Parse_MathML_Style_veryverythinmathspace; typedef Parse_MathML_Token_mathsize Parse_MathML_Style_mathsize; // Padded typedef ParseToken ParsePercentage; typedef ParseTokenSet< Set > ParsePseudoUnit; typedef ParseZeroOrOne ParseOptionalPseudoUnit; typedef ParseChoice, ParseChoice > ParseDimension; typedef ParseSeq > > Parse_MathML_Padded_width; typedef ParseSeq > Parse_MathML_Padded_lspace; typedef ParseSeq > Parse_MathML_Padded_height; typedef ParseSeq > Parse_MathML_Padded_depth; // Fenced typedef Parse ParseCharacter; typedef ParseString Parse_MathML_Fenced_open; typedef ParseString Parse_MathML_Fenced_close; //typedef ParseZeroOrOne > Parse_MathML_Fenced_separators; typedef ParseString Parse_MathML_Fenced_separators; // Enclose typedef ParseOneOrMore Parse_MathML_Enclose_notation; // Script typedef ParseLength Parse_MathML_Script_subscriptshift; typedef ParseLength Parse_MathML_Script_superscriptshift; // UnderOver typedef ParseBoolean Parse_MathML_UnderOver_accentunder; typedef ParseBoolean Parse_MathML_UnderOver_accent; // MultiScripts typedef ParseLength Parse_MathML_MultiScripts_subscriptshift; typedef ParseLength Parse_MathML_MultiScripts_superscriptshift; // Table typedef ParseTokenSet< Set > ParseGroupAlignment; typedef ParseOneOrMore ParseGroupAlignmentList; typedef ParseOneOrMore, ParseSeq< ParseGroupAlignmentList, ParseToken > > > ParseGroupAlignmentListList; typedef ParseTokenSet< Set > ParseVerticalAlign; typedef ParseChoice > > ParseColumnWidthSpec; typedef ParseTokenSet< Set > ParseLineSpec; typedef ParseSeq > Parse_MathML_Table_align; typedef ParseOneOrMore Parse_MathML_Table_rowalign; typedef ParseOneOrMore Parse_MathML_Table_columnalign; typedef ParseGroupAlignmentListList Parse_MathML_Table_groupalign; typedef ParseOneOrMore Parse_MathML_Table_alignmentscope; typedef ParseOneOrMore Parse_MathML_Table_columnwidth; typedef ParseChoice > Parse_MathML_Table_width; typedef ParseOneOrMore Parse_MathML_Table_rowspacing; typedef ParseOneOrMore Parse_MathML_Table_columnspacing; typedef ParseOneOrMore Parse_MathML_Table_rowlines; typedef ParseOneOrMore Parse_MathML_Table_columnlines; typedef ParseLineSpec Parse_MathML_Table_frame; typedef ParseSeq Parse_MathML_Table_framespacing; typedef ParseBoolean Parse_MathML_Table_equalrows; typedef ParseBoolean Parse_MathML_Table_equalcolumns; typedef ParseBoolean Parse_MathML_Table_displaystyle; typedef ParseTokenSet< Set > Parse_MathML_Table_side; typedef ParseLengthOrNamedSpace Parse_MathML_Table_minlabelspacing; // TableRow typedef ParseVerticalAlign Parse_MathML_TableRow_rowalign; typedef ParseOneOrMore Parse_MathML_TableRow_columnalign; typedef ParseGroupAlignmentListList Parse_MathML_TableRow_groupalign; // TableCell typedef ParseInteger Parse_MathML_TableCell_rowspan; typedef ParseInteger Parse_MathML_TableCell_columnspan; typedef ParseVerticalAlign Parse_MathML_TableCell_rowalign; typedef ParseHorizontalAlign Parse_MathML_TableCell_columnalign; typedef ParseGroupAlignmentList Parse_MathML_TableCell_groupalign; // AlignMark typedef ParseTokenSet< Set > Parse_MathML_AlignMark_edge; // AlignGroup typedef ParseGroupAlignment Parse_MathML_AlignGroup_groupalign; // Action typedef ParseString Parse_MathML_Action_actiontype; typedef ParseInteger Parse_MathML_Action_selection; // math typedef ParseTokenSet< Set > Parse_MathML_math_mode; typedef ParseTokenSet< Set > Parse_MathML_math_display; #endif // __MathMLAttributeParsers_hh__