Fields in a node structure:
*item type
The string name for the node. It can be used to determine the overall structure. For example a 'binop' node will have a body with a node left-hand side, the string operation name and a body right-hand side. Right now the type names are a little funky, but over time I hope these will less so.
* item sep (optional)
A string indicating how to separate the the strings extracted from the texts field. The field is subject to format expansion. In particular tt can have '%;' in it to indicate we are separating statements. the body.
texts
* item texts
A reference to a list containing either:
* item a tuple with a strings, and a op address * a DeparseTreee::Node object
* item text
Text representation of the node. Eventually this will diasppear and, you'll use one of the node-to-string conversion routines.
* item maybe_parens
If this node is embedded in the parent above, whether we need to add parenthesis. The keys is a hash ref hash reference
A number passed from the parent indicating its precedence context that the expression is embedded it.
A number as determined by the operator at this level.
'true' if we should to add parenthesis based on context and precedence values; '' if not. We don't nest equal precedence for unuary ops. The unary op precedence is given by UNARY_OP_PRECEDENCE
To install B::DeparseTree, copy and paste the appropriate command in to your terminal.
cpanm
cpanm B::DeparseTree
CPAN shell
perl -MCPAN -e shell install B::DeparseTree
For more information on module installation, please visit the detailed CPAN module installation guide.