ABNF-Grammar

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

Revision history for Perl extension ABNF::Grammar.

0.08  Sat Jun 16 12:55:35 2013
	- removed recursion increment in Honest repetition
	- removed debug output
	
0.07  Sat Jun 16 12:55:35 2013
	- better recursion control in Honest generator in case of repetition or choice

0.06  Fri Jun 15 00:00:26 2013
	- fixed dependence from Method::Signatures

0.05  Fri Jun 14 23:47:51 2013
	- fixed dependence from Method::Signatures

lib/ABNF/Grammar.pm  view on Meta::CPAN

}

=pod

=head1 $grammar->C<rule>($name)

Return rule form $name with name $name.

Result structure is identical to B<Parse::ABNF> structure.

For debug only.

Do not modify result structure.

=cut

method rule(Str $name) {
	croak "Unexisted rule $name" unless exists($self->{_rules}->{$name});
	$self->{_rules}->{$name};
}

=pod

=head1 $grammar->C<rules>()

Return all rules.

Result structures is identical to B<Parse::ABNF> structure.

For debug only.

Do not modify result structure.

=cut

method rules() {
	$self->{_rules};
}

=pod

=head1 $grammar->C<replaceRule>($rule, $value)

Replace $rule with $value.

For debug use only.

dies if there is no rule like $rule.

=cut

method replaceRule(Str $rule, $value) {
	croak "Unexisted rule $rule" unless exists($self->{_rules}->{$rule});
	croak "new value name must be equal to rule" unless $value->{name} eq $rule;
	$self->{_rules}->{$rule} = $value;
}

=pod

=head1 $grammar->C<replaceBasicRule>($rule, $value)

Replace $rule with $value.

For debug use only.

dies if there is no rule like $rule.

=cut

method replaceBasicRule(Str $rule, $value) {
	croak "Unexisted rule $rule" unless exists($BASIC_RULES->{$rule});
	croak "new value name must be equal to rule" unless $value->{name} eq $rule;
	$BASIC_RULES->{$rule} = $value;
}



( run in 1.263 second using v1.01-cache-2.11-cpan-49f99fa48dc )