Grammar-Marpa
view release on metacpan or search on metacpan
lib/Grammar/Marpa.pm view on Meta::CPAN
3334353637383940414243444546474849505152
else
{
$pkg
= (
caller
)[0];
%args
=
@_
;
}
my
%Gargs
;
$Gargs
{ bless_package } =
delete
$args
{ bless_package }
if
$args
{ bless_package };
$Gargs
{ trace_file_handle } =
$args
{ trace_file_handle }
if
$args
{ trace_file_handle };
$ebnf
//=
delete
$args
{ source };
$ebnf
=
$$ebnf
if
ref
(
$ebnf
);
my
$G
= Marpa::R2::Scanless::G->new({
source
=> \
$ebnf
,
%Gargs
});
return
bless
[
$G
,
$pkg
, \
%args
] =>
$class
;
}
sub
parse {
my
(
$grammar
,
$string
) =
@_
;
my
$R
= Marpa::R2::Scanless::R->new({
grammar
=>
$grammar
->[ 0 ],
semantics_package
=>
$grammar
->[ 1 ], %{
$grammar
->[ 2 ]} });
$R
->
read
(\
$string
);
my
$V
=
$R
->value or
return
;
return
$$V
;
}
( run in 0.401 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )