=begin pod

=TITLE class Grammar

    class Grammar is Cursor { }

C<Grammar> is the superclass that classes automatically get when they are
declared with the C<grammar> keyword instead of C<class>.

=head1 Methods

=head2 parse

    method parse(Grammar:D: $str, :$rule = 'TOP', :$actions) returns Match:D

Matches the grammar against C<$str>, using C<$rule> as start rule,
optionally applying C<$actions> as actions object.

Returns the resulting L<Match> object, and also sets the caller's C<$/>
variable to the result Match object.

=head2 parsefile

    method parsefile(Grammar:D: $filename, :$rule = 'TOP', :$actions) returns Match:D

Matches the grammar against the contents of file C<$filename>,
using C<$rule> as start rule,
optionally applying C<$actions> as actions object.

Returns the resulting L<Match> object, and also sets the caller's C<$/>
variable to the result Match object.
=end pod

