---
name: "Devel::Declare::Interface"
section: "3pm"
platform: "linux"
package: "libdevel-declare-parser-perl"
version: "0.021-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Devel::Declare::Interface"
---

# Devel::Declare::Interface(3pm)

Interface to Devel-Declare parsers.

## NAME

Devel::Declare::Interface - Interface to Devel-Declare parsers.

## DESCRIPTION

A higher level interface to Devel-Declare. This is the package you will interact with the most when using Devel::Declare::Parser.

## SYNOPSIS

```
    package My::Keyword::Method;
    use strict;
    use warnings;
    use Devel::Declare::Parser;
    # Look at Exporter-Declare to have most of this done for you.
    sub import {
        my $class = shift;
        my $destination = caller;
        enhance( $destination, "make_method", "method" );
        no strict 'refs';
        *{ $destination . '::make_method' } = \&my_keyword;
    }
    sub make_method {
        my ( $name, $code ) = @_;
        my $dest = caller;
        no strict 'refs';
        *{ $destination . '::' . $name } = $code;
    }
    1;
```

## API

The following functions are all exported by default.

- register\_parser( $name )

  - register\_parser( $name, $class )

  Register a parser under a short name. If `$class` is not provided caller will be used.

- get\_parser( $name );

  Get the parser class by short name.

- enhance( $dest\_class, $name, $parser );

  - enhance( $dest\_class, $name, $parser, $type );

  Make `$name` a keyword in `$dest_class` that uses `$parser`. `$parser` can be a short name or class name. `$type` defaults to 'const'.

## FENNEC PROJECT

This module is part of the Fennec project. See Fennec for more details. Fennec is a project to develop an extendable and powerful testing framework. Together the tools that make up the Fennec framework provide a potent testing environment.

The tools provided by Fennec are also useful on their own. Sometimes a tool created for Fennec is useful outside the greator framework. Such tools are turned into their own projects. This is one such project.

- Fennec - The core framework

  The primary Fennec project that ties them all together.

## AUTHORS

Chad Granum exodist7@gmail.com

## COPYRIGHT

Copyright (C) 2010 Chad Granum

Devel-Declare-Interface is free software; Standard perl licence.

Devel-Declare-Parser is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the license for more details.
