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$opto the nodes@args.
- "$node = ApplyDelimited($op,@stuff);"
-
Create a new
"XMApp"node representing the application of the node$opto the arguments found in@stuff.@stuffare delimited arguments in the sense that the leading and trailing nodes should represent open and close delimiters and the arguments are separated by punctuation nodes.
- "$node = InterpretDelimited($op,@stuff);"
-
Similar to
"ApplyDelimited", this interprets sequence of delimited, punctuated items as being the application of$opto those items.
- "$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
$openand$closeform 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.
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)">
- "MaybeFunction($token);"
-
Note the possible use of
$tokenas a function, which may cause incorrect parsing. This is used to generate warning messages.
AUTHOR
Bruce Miller <[email protected]>
COPYRIGHT
Public domain software, produced as part of work done by the United States Government & not subject to copyright in the US.