NAME
MarpaX::Languages::C::AST::Util - C Translation to AST - Class method utilities
VERSION
version 0.48
SYNOPSIS
use MarpaX::Languages::C::AST::Util qw/:all/;
my $whoami = whoami();
my $whowasi = whowasi();
callIt(0, '1', [2], {3 => 4});
sub callIt {
my $hash = traceAndUnpack(['var1', 'var2', 'array1p', 'hash1p'], @_);
}
DESCRIPTION
This modules implements some function utilities.
EXPORTS
The methods whoami(), whowasi() and traceAndUnpack() are exported on demand.
SUBROUTINES/METHODS
whoami($base)
Returns the name of the calling routine. Optional $base prefix is removed. Typical usage is whoami(__PACKAGE__).
whowasi($base)
Returns the name of the parent's calling routine. Optional $base prefix is removed. Typical usage is whowasi(__PACKAGE__).
traceAndUnpack($nameOfArgumentsp, @arguments)
Returns a hash mapping @{$nameOfArgumentsp} to @arguments and trace it. The tracing is done using a method quite similar to Log::Any. Tracing and hash mapping stops at the end of @nameOfArguments or @arguments.
logCroak($fmt, @arg)
Formats a string using Log::Any, issue a $log->fatal with it, and croak with it.
showLineAndCol($line, $col, $sourcep)
Returns a string showing the request line, followed by another string that shows what is the column of interest, in the form "------^".
lineAndCol($impl, $g1)
Returns the output of Marpa's line_column at a given $g1 location. Default $g1 is Marpa's current_g1_location(). If $start is given, $g1 is ignored.
startAndLength($impl, $g1)
Returns the output of Marpa's g1_location_to_span at a given $g1 location. Default $g1 is Marpa's current_g1_location().
lastCompleted($impl, $symbol)
Returns the string corresponding the last completion of $symbol.
depth($impl, $subGrammar)
Returns an array of rules ordered by depth for optional sub grammar $subGrammar (default is 'G1'). Each array item is a hash reference with the following keys:
- ruleId
-
Rule Id
- ruleName
-
Rule Id
- lhsId
-
LHS id of this rule
- lhsName
-
LHS name of this rule
- rhsIds
-
Rhs ids of this rule as an array reference
- rhsNames
-
Rhs names of this rule as an array reference
- depth
-
Rule depth
AUTHOR
Jean-Damien Durand <jeandamiendurand@free.fr>
COPYRIGHT AND LICENSE
This software is copyright (c) 2013 by Jean-Damien Durand.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.