our
$VERSION
= 0.003_100;
our
hashref
$properties
= {};
sub
ast_to_rperl__generate {
{
my
string_hashref::method
$RETURN_TYPE
};
(
my
object
$self
,
my
string_hashref
$modes
) =
@ARG
;
my
string_hashref
$rperl_source_group
= {
PMC
=>
q{}
};
if
( (
ref
$self
) eq
'Expression_150'
) {
my
string
$name
=
$self
->{children}->[0];
my
string
$left_paren
=
$self
->{children}->[1];
my
string
$right_paren
=
$self
->{children}->[2];
$rperl_source_group
->{PMC} .=
$name
.
$left_paren
.
$right_paren
;
}
elsif
( (
ref
$self
) eq
'Expression_151'
) {
$rperl_source_group
->{PMC} .=
$self
->{children}->[0];
}
else
{
die
RPerl::Parser::rperl_rule__replace(
'ERROR ECOGEASRP000, CODE GENERATOR, ABSTRACT SYNTAX TO RPERL: Grammar rule '
. (
ref
$self
)
.
' found where Expression_150 or Expression_151 expected, dying'
)
.
"\n"
;
}
return
$rperl_source_group
;
}
sub
ast_to_cpp__generate__CPPOPS_PERLTYPES {
{
my
string_hashref::method
$RETURN_TYPE
};
(
my
object
$self
,
my
string_hashref
$modes
) =
@ARG
;
my
string_hashref
$cpp_source_group
= {
CPP
=>
q{// <<< RP::O::E::CC __DUMMY_SOURCE_CODE CPPOPS_PERLTYPES >>>}
.
"\n"
};
return
$cpp_source_group
;
}
sub
ast_to_cpp__generate__CPPOPS_CPPTYPES {
{
my
string_hashref::method
$RETURN_TYPE
};
(
my
object
$self
,
my
string_hashref
$modes
) =
@ARG
;
my
string_hashref
$cpp_source_group
= {
CPP
=>
q{}
};
if
( (
ref
$self
) eq
'Expression_150'
) {
my
string
$name
=
$self
->{children}->[0];
$cpp_source_group
->{CPP} .=
$name
;
}
elsif
( (
ref
$self
) eq
'Expression_151'
) {
my
string
$call
=
$self
->{children}->[0];
substr
$call
, -2, 2,
q{}
;
$call
=~ s/:/_/gxms;
$cpp_source_group
->{CPP} .=
$call
;
}
else
{
die
RPerl::Parser::rperl_rule__replace(
'ERROR ECOGEASCP000, CODE GENERATOR, ABSTRACT SYNTAX TO C++: Grammar rule '
. (
ref
$self
)
.
' found where Expression_150 or Expression_151 expected, dying'
)
.
"\n"
;
}
return
$cpp_source_group
;
}
1;