package re::engine::Hooks;
-use 5.010001;
+use 5.010_001;
use strict;
use warnings;
=head1 VERSION
-Version 0.01
+Version 0.05
=cut
sub dl_load_flags { 0x01 }
BEGIN {
- $VERSION = '0.01';
+ $VERSION = '0.05';
require DynaLoader;
push @ISA, qw<Regexp DynaLoader>;
__PACKAGE__->bootstrap($VERSION);
#include "re_engine_hooks.h"
- STATIC void dri_comp_hook(pTHX_ regexp *rx, regnode *node) {
+ STATIC void dri_comp_node_hook(pTHX_ regexp *rx, regnode *node) {
...
}
- STATIC void dri_exec_hook(pTHX_ regexp *rx, regnode *node,
- regmatch_info *info, regmatch_state *state) {
+ STATIC void dri_exec_node_hook(pTHX_
+ regexp *rx, regnode *node, regmatch_info *info, regmatch_state *state) {
...
}
BOOT:
{
reh_config cfg;
- cfg.comp = dri_comp_hook;
- cfg.exec = dri_exec_hook;
+ cfg.comp_node = dri_comp_node_hook;
+ cfg.exec_node = dri_exec_node_hook;
reh_register("Devel::Regexp::Instrument", &cfg);
}
The C API is made available through the F<re_engine_hooks.h> header file.
-=head2 C<reh_comp_hook>
+=head2 C<reh_comp_node_hook>
-The typedef for the regexp compilation phase hook.
+The typedef for the regexp node compilation phase hook.
Currently evaluates to :
- typedef void (*reh_comp_hook)(pTHX_ regexp *, regnode *);
+ typedef void (*reh_comp_node_hook)(pTHX_ regexp *, regnode *);
-=head2 C<reh_exec_hook>
+=head2 C<reh_exec_node_hook>
-The typedef for the regexp execution phase hook.
+The typedef for the regexp node_execution phase hook.
Currently evaluates to :
- typedef void (*reh_exec_hook)(pTHX_ regexp *, regnode *, regmatch_info *, regmatch_state *);
+ typedef void (*reh_exec_node_hook)(pTHX_ regexp *, regnode *, regmatch_info *, regmatch_state *);
=head2 C<reh_config>
=item *
-C<comp>
+C<comp_node>
-A function pointer of type C<reh_comp_hook> that will be called each time a regnode is compiled.
+A function pointer of type C<reh_comp_node_hook> that will be called each time a regnode is compiled.
Allowed to be C<NULL> if you don't want to call anything for this phase.
=item *
-C<exec>
+C<exec_node>
-A function pointer of type C<reh_exec_hook> that will be called each time a regnode is executed.
+A function pointer of type C<reh_exec_node_hook> that will be called each time a regnode is executed.
Allowed to be C<NULL> if you don't want to call anything for this phase.
=back
=head1 DEPENDENCIES
-L<perl> 5.10.1.
+Any stable release of L<perl> since 5.10.1, or a development release of L<perl> from the 5.19 branch.
+
+A C compiler.
+This module may happen to build with a C++ compiler as well, but don't rely on it, as no guarantee is made in this regard.
L<ExtUtils::Depends>.
=head1 COPYRIGHT & LICENSE
-Copyright 2012 Vincent Pit, all rights reserved.
+Copyright 2012,2013 Vincent Pit, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.