---
name: "Pegex::Module"
section: "3pm"
platform: "linux"
package: "perl-pegex"
version: "0.75-8"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Pegex::Module"
---

# Pegex::Module(3pm)

Base Class for Pegex Grammar Interface Modules

## NAME

Pegex::Module - Base Class for Pegex Grammar Interface Modules

## SYNOPSIS

```
    package MyLanguage;
    use Pegex::Base;
    extends 'Pegex::Module';
    use Pegex::Parser;
    has parser_class => 'Pegex::Parser';
    has grammar_class => 'MyLanguage::Grammar';
    has receiver_class => 'MyLanguage::AST';
    1;
```

## DESCRIPTION

The module in the Synopsis above is a complete language parsing module. It just inherits from Pegex::Module, and then overrides the `"grammar_class"` and `"receiver_class"` attributes. Pegex::Module provides the `parse()` method.

## XXX

At this point you must specify the `"parser_class"` attribute as well. The inheritance of this default is not working.

## AUTHOR

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

## 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 \<http://www.perl.com/perl/misc/Artistic.html\>
