NAME
MarpaX::Languages::SVG::Parser::Actions
- A nested SVG parser, using XML::SAX and Marpa::R2
Synopsis
See "Synopsis" in MarpaX::Languages::SVG::Parser.
Description
Basically just utility routines for MarpaX::Languages::SVG::Parser. Only used indirectly by Marpa::R2.
Specifially, calls to functions are triggered by items in the input stream matching elements of the current grammar (and Marpa does the calling).
Each action function returns a hashref, which Marpa gathers. The calling code MarpaX::Languages::SVG::Parser::SAXHandler decodes the result and puts the hashrefs into a stack, described in the "FAQ" in MarpaX::Languages::SVG::Parser.
Installation
See "Installation" in MarpaX::Languages::SVG::Parser.
Constructor and Initialization
This class has no constructor. Marpa::R2 fabricates an instance, but won't let us get access to it.
So, we use a global variable, $logger
, initialized in MarpaX::Languages::SVG::Parser::SAXHandler, in case we need logging. Details:
- o logger => aLog::HandlerObject
-
By default, an object of type Log::Handler is created which prints to STDOUT, but given the default, nothing is actually printed unless the
maxlevel
attribute of this object is changed in MarpaX::Languages::SVG::Parser.Default: anObjectOfTypeLogHandler.
Also, each new parse is preceeded by a call to the "init()" function, to reset some counters global to this file.
Methods
None.
Functions
boolean($t1)
Returns a hashref identifying the boolean $t1.
command($t1, @t2)
Returns a hashref identifying the command $t1 and its parameters in @t2.
float($t1)
Returns a hashref identifying the float $t1.
init()
Resets some counters global to the file. This must be called at the start of each new parse.
integer($t1)
Returns a hashref identifying the integer $t1.
log($level, $s)
Calls $logger -> log($level => $s) if ($logger).
string($t1)
Returns a hashref identifying the string $t1.
FAQ
See "FAQ" in MarpaX::Languages::SVG::Parser.
Author
MarpaX::Languages::SVG::Parser was written by Ron Savage <ron@savage.net.au> in 2013.
Home page: http://savage.net.au/.
Copyright
Australian copyright (c) 2013, Ron Savage.
All Programs of mine are 'OSI Certified Open Source Software';
you can redistribute them and/or modify them under the terms of
The Artistic License 2.0, a copy of which is available at:
http://www.opensource.org/licenses/index.html