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
XMToknode 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 anXMAppnode; 0 is the operator node. Annotate($node,%attributes);-
Add attributes to
$node. $node = Apply($op,@args);-
Create a new
XMAppnode representing the application of the node$opto the nodes@args. $node = ApplyDelimited($op,@stuff);-
Create a new
XMAppnode 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 seperated by punctuation nodes. The text of these delimiters and punctuation are used to annotate the operator node withargopen,argcloseandseparatorattributes. $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. If nothing specific is recognized, creates the application of
FENCEDto the arguments.This would be a good candidate for customization!
$node = NewFormulae(@stuff);-
Given a set of formulas, construct a
Formulaeapplication, if there are more than one, else just return the first. $node = NewList(@stuff);-
Given a set of expressions, construct a
listapplication, 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 - dwould 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 <bruce.miller@nist.gov>
COPYRIGHT
Public domain software, produced as part of work done by the United States Government & not subject to copyright in the US.