PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` =pod =for comment DO NOT EDIT. This Pod was generated by Swim v0.1.48. 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 or the C attributes. When L uses your grammar, it will want it in the tree (compiled) form, so L 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. You can inline it in the C method, or else the C method will be called to produce it. The C method will call on Pegex::Compiler to compile the C property by default. You can define your own C 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 and L. =item text This is simply the text of your grammar, if you define this, you should (probably) not define the C property. This grammar text will be automatically compiled when the C 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 =head1 COPYRIGHT AND LICENSE Copyright 2010-2020. 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 =cut