trusty (3) LaTeXML::MathParser.3pm.gz

Provided by: latexml_0.7.0-1_all bug

NAME

       "LaTeXML::MathParser" - parses mathematics content

DESCRIPTION

       "LaTeXML::MathParser" parses the mathematical content of a document.  It uses Parse::RecDescent and a
       grammar "MathGrammar".

   Math Representation
       Needs description.

   Possibile Customizations
       Needs description.

   Convenience functions
       The following functions are exported for convenience in writing the grammar productions.

       "$node = New($name,$content,%attributes);"
           Creates a new "XMTok" node with given $name (a string or undef), and $content (a string or undef)
           (but at least one of name or content should be provided), and attributes.

       "$node = Arg($node,$n);"
           Returns the $n-th argument of an "XMApp" node; 0 is the operator node.

       "Annotate($node,%attributes);"
           Add attributes to $node.

       "$node = Apply($op,@args);"
           Create a new "XMApp" node representing the application of the node $op to the nodes @args.

       "$node = ApplyDelimited($op,@stuff);"
           Create a new "XMApp" node representing the application of the node $op to the arguments found in
           @stuff.  @stuff are delimited arguments in the sense that the leading and trailing nodes should
           represent open and close delimiters and the arguments are seperated by punctuation nodes.  The text
           of these delimiters and punctuation are used to annotate the operator node with "argopen", "argclose"
           and "separator" attributes.

       "$node = recApply(@ops,$arg);"
           Given a sequence of operators and an argument, forms the nested application "op(op(...(arg)))">.

       "$node = InvisibleTimes;"
           Creates an invisible times operator.

       "$boole = isMatchingClose($open,$close);"
           Checks whether $open and $close form a `normal' pair of delimiters, or if either is ".".

       "$node = Fence(@stuff);"
           Given a delimited sequence of nodes, starting and ending with open/close delimiters, and with
           intermediate nodes separated by punctuation or such, attempt to guess what type of thing is
           represented such as a set, absolute value, interval, and so on.  If nothing specific is recognized,
           creates the application of "FENCED" to the arguments.

           This would be a good candidate for customization!

       "$node = NewFormulae(@stuff);"
           Given a set of formulas, construct a "Formulae" application, if there are more than one, else just
           return the first.

       "$node = NewList(@stuff);"
           Given a set of expressions, construct a "list" application, if there are more than one, else just
           return the first.

       "$node = LeftRec($arg1,@more);"
           Given an expr followed by repeated (op expr), compose the left recursive tree.  For example "a + b +
           c - d" would give "(- (+ a b c) d)">

       "Problem($text);"
           Warn of a potential math parsing problem.

       "MaybeFunction($token);"
           Note the possible use of $token as a function, which may cause incorrect parsing.  This is used to
           generate warning messages.

AUTHOR

       Bruce Miller <bruce.miller@nist.gov>

       Public domain software, produced as part of work done by the United States Government & not subject to
       copyright in the US.