our
$VERSION
= 0.002_000;
our
hashref
$properties
= {};
our
string_hashref_method
$ast_to_rperl__generate
=
sub
{
(
my
object
$self
,
my
string_hashref
$modes
) =
@_
;
my
string_hashref
$rperl_source_group
= {
PMC
=>
q{}
};
my
string_hashref
$rperl_source_subgroup
;
my
string
$lparen_my
=
$self
->{children}->[0];
my
string
$object_self
=
$self
->{children}->[1];
my
object
$arguments_star
=
$self
->{children}->[2];
my
string
$rparen
=
$self
->{children}->[3];
my
string
$equal
=
$self
->{children}->[4];
my
string
$at_underscore_semicolon
=
$self
->{children}->[5];
$rperl_source_group
->{PMC} .=
$lparen_my
.
q{ }
.
$object_self
;
my
object
$arguments_star_dclone
= dclone(
$arguments_star
);
while
(
exists
$arguments_star_dclone
->{children}->[0] ) {
my
object
$comma
=
shift
@{
$arguments_star_dclone
->{children} };
my
object
$my
=
shift
@{
$arguments_star_dclone
->{children} };
my
object
$type
=
shift
@{
$arguments_star_dclone
->{children} };
my
object
$name
=
shift
@{
$arguments_star_dclone
->{children} };
$rperl_source_group
->{PMC} .=
$comma
->{attr} .
q{ }
.
$my
->{attr} .
q{ }
.
$type
->{children}->[0] .
q{ }
.
$name
->{attr};
}
$rperl_source_group
->{PMC} .=
q{ }
.
$rparen
.
q{ }
.
$equal
.
q{ }
.
$at_underscore_semicolon
.
"\n"
;
return
$rperl_source_group
;
};
our
string_hashref_method
$ast_to_cpp__generate__CPPOPS_PERLTYPES
=
sub
{
(
my
object
$self
,
my
string_hashref
$modes
) =
@_
;
my
string_hashref
$cpp_source_group
= {
CPP
=>
q{// <<< RP::CB::S::M::A __DUMMY_SOURCE_CODE CPPOPS_PERLTYPES >>>}
.
"\n"
};
return
$cpp_source_group
;
};
our
string_hashref_method
$ast_to_cpp__generate__CPPOPS_CPPTYPES
=
sub
{
(
my
object
$self
,
my
string_hashref
$modes
) =
@_
;
my
string_hashref
$cpp_source_group
= {
CPP
=>
q{}
};
my
string_hashref
$cpp_source_subgroup
;
my
object
$arguments_star
=
$self
->{children}->[2];
my
string_arrayref
$arguments
= [];
my
object
$arguments_star_dclone
= dclone(
$arguments_star
);
while
(
exists
$arguments_star_dclone
->{children}->[0] ) {
shift
@{
$arguments_star_dclone
->{children} };
shift
@{
$arguments_star_dclone
->{children} };
my
object
$arguments_type
=
shift
@{
$arguments_star_dclone
->{children} };
my
object
$arguments_name
=
shift
@{
$arguments_star_dclone
->{children} };
push
@{
$arguments
}, (
$arguments_type
->{children}->[0] .
q{ }
. (
substr
$arguments_name
->{attr}, 1 ) );
}
$cpp_source_group
->{CPP} .=
join
', '
, @{
$arguments
};
return
$cpp_source_group
;
};
1;