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 anXMApp
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 separated by punctuation nodes. $node = InterpretDelimited($op,@stuff);
-
Similar to
ApplyDelimited
, this interprets sequence of delimited, punctuated items as being the application of$op
to 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
$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.
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
$token
as 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.