This file is indexed.

/usr/share/perl5/Pegex/Grammar.pod is in libpegex-perl 0.55-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
=pod

=for comment
DO NOT EDIT. This Pod was generated by Swim.
See http://github.com/ingydotnet/swim-pm#readme

=encoding utf8

=head1 NAME

Pegex::Grammar - Pegex Grammar Base Class

=head1 SYNOPSIS

Define a Pegex grammar (for the Foo syntax):

    package Pegex::Foo::Grammar;
    use base 'Pegex::Base';
    extends 'Pegex::Grammar';

    has text => q{
    foo: bar baz
    ... rest of Foo grammar ...
    };

then use it to parse some Foo:

    use Pegex::Parser;
    my $parse_tree = Pegex::Parser->new(
        grammar => 'Pegex::Foo::Grammar',
        receiver => 'Pegex::Tree',
    )->parse('my/file.foo');

=head1 DESCRIPTION

Pegex::Grammar is a base class for defining your own Pegex grammar classes.
You just need to provide the grammar view the C<text> or the C<file>
attributes.

When L<Pegex::Parser> uses your grammar, it will want it in the tree
(compiled) form, so L<Pegex::Grammar> provides automatic compilation support.

=head1 PROPERTIES AND METHODS

=over

=item tree

This is the data structure containing the compiled grammar for your syntax. It
is usually produced by C<Pegex::Compiler>. You can inline it in the C<tree>
method, or else the C<make_tree> method will be called to produce it.

The C<make_tree> method will call on Pegex::Compiler to compile the C<text>
property by default. You can define your own C<make_tree> method to do
override this behavior.

Often times you will want to generate your own Pegex::Grammar subclasses in an
automated fashion. The Pegex and TestML modules do this to be performant. This
also allows you to keep your grammar text in a separate file, and often in a
separate repository, so it can be shared by multiple programming language's
module implementations.

See L<https://github.com/ingydotnet/pegex-pgx> and L<https://github.com/ingydotnet/pegex-
pm/blob/master/lib/Pegex/Pegex/Grammar.pm>.

=item text

This is simply the text of your grammar, if you define this, you should
(probably) not define the C<tree> property. This grammar text will be
automatically compiled when the C<tree> is required.

=item file

This is the file where your Pegex grammar lives. It is usually used when you
are making a Pegex module. The path is relative to your top level module
directory.

=item make_tree

This method is called when the grammar needs the compiled version.

=back

=head1 AUTHOR

Ingy döt Net <ingy@cpan.org>

=head1 COPYRIGHT AND LICENSE

Copyright 2010-2014. Ingy döt Net.

This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.

See L<http://www.perl.com/perl/misc/Artistic.html>

=cut