Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PPIx::Regexp::Node(3) User Contributed Perl DocumentationPPIx::Regexp::Node(3)

NAME
       PPIx::Regexp::Node - Represent a	container

SYNOPSIS
	use PPIx::Regexp::Dumper;
	PPIx::Regexp::Dumper->new( 'qr{(foo)}' )->print();

INHERITANCE
       "PPIx::Regexp::Node" is a PPIx::Regexp::Element.

       "PPIx::Regexp::Node" is the parent of PPIx::Regexp,
       PPIx::Regexp::Node::Range and PPIx::Regexp::Structure.

DESCRIPTION
       This class represents a structural element that contains	other classes.
       It is an	abstract class,	not instantiated by the	lexer.

METHODS
       This class provides the following public	methods. Methods not
       documented here are private, and	unsupported in the sense that the
       author reserves the right to change or remove them without notice.

   child
	my $kid	= $node->child(	0 );

       This method returns the child at	the given index. The indices start
       from zero, and negative indices are from	the end	of the list, so	that
       "$node->child( -1 )" returns the	last child of the node.

   children
       This method returns the children	of the Node. If	called in scalar
       context it returns the number of	children.

   contains
	print $node->contains( $elem ) ? "yes\n" : "no\n";

       This method returns true	if the given element is	contained in the node,
       or false	otherwise.

   elements
       This method returns the elements	in the Node. For a
       "PPIx::Regexp::Node" proper, it is the same as "children()".

   find
	my $rslt = $node->find(	'PPIx::Regexp::Token::Literal' );
	my $rslt = $node->find(	'Token::Literal' );
	my $rslt = $node->find(	sub {
	    return $_[1]->isa( 'PPIx::Regexp::Token::Literal' )
		&& $_[1]->ordinal < ord(' ');
	    } );

       This method finds things.

       If given	a string as argument, it is assumed to be a class name
       (possibly without the leading 'PPIx::Regexp::'),	and all	elements of
       the given class are found.

       If given	a code reference, that code reference is called	once for each
       element,	and passed $self and the element. The code should return true
       to accept the element, false to reject it, and (	for subclasses of
       "PPIx::Regexp::Node") "undef" to	prevent	recursion into the node. If
       the code	throws an exception, you get nothing back from this method.

       Either way, the return is a reference to	the list of things found, a
       false (but defined) value if nothing was	found, or "undef" if an	error
       occurred.

   find_parents
	my $rslt = $node->find_parents(	sub {
	    return $_[1]->isa( 'PPIx::Regexp::Token::Operator' )
		&& $_[1]->content() eq '|';
	    } );

       This convenience	method takes the same arguments	as "find", but instead
       of the found objects themselves returns their parents. No parent	will
       appear more than	once in	the output.

       The return is a reference to the	array of parents if any	were found. If
       none were found the return is false but defined.	If an error occurred
       the return is "undef".

   find_first
       This method has the same	arguments as "find", but returns either	a
       reference to the	first element found, a false (but defined) value if no
       elements	were found, or "undef" if an error occurred.

   first_element
       This method returns the first element in	the node.

   last_element
       This method returns the last element in the node.

   perl_version_introduced
       This method returns the maximum value of	"perl_version_introduced"
       returned	by any of its elements.	In other words,	it returns the minimum
       version of Perl under which this	node is	valid. If there	are no
       elements, 5.000 is returned, since that is the minimum value of Perl
       supported by this package.

   perl_version_removed
       This method returns the minimum defined value of	"perl_version_removed"
       returned	by any of the node's elements. In other	words, it returns the
       lowest version of Perl in which this node is "not" valid. If there are
       no elements, or if no element has a defined "perl_version_removed",
       "undef" is returned.

   schild
       This method returns the significant child at the	given index; that is,
       "$node->schild(0)" returns the first significant	child,
       "$node->schild(1)" returns the second significant child,	and so on.
       Negative	indices	count from the end.

   schildren
       This method returns the significant children of the node.

SUPPORT
       Support is by the author. Please	file bug reports at
       <http://rt.cpan.org>, or	in electronic mail to the author.

AUTHOR
       Thomas R. Wyant,	III wyant at cpan dot org

COPYRIGHT AND LICENSE
       Copyright (C) 2009-2014 by Thomas R. Wyant, III

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl 5.10.0. For	more details, see the full
       text of the licenses in the directory LICENSES.

       This program is distributed in the hope that it will be useful, but
       without any warranty; without even the implied warranty of
       merchantability or fitness for a	particular purpose.

perl v5.24.1			  2014-11-12		 PPIx::Regexp::Node(3)

NAME | SYNOPSIS | INHERITANCE | DESCRIPTION | METHODS | SUPPORT | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=PPIx::Regexp::Node&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help