Another attempt to check in a branch.
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Parser.pm
CommitLineData
16dc9970 1package SQL::Translator::Parser;
2
3#-----------------------------------------------------
4# $Id: Parser.pm,v 1.1.1.1 2002-03-01 02:26:25 kycl4rk Exp $
5#
6# File : SQL/Translator/Parser.pm
7# Programmer : Ken Y. Clark, kclark@logsoft.com
8# Created : 2002/02/27
9# Purpose : base object for parsers
10#-----------------------------------------------------
11
12use strict;
13use vars qw( $VERSION );
14$VERSION = (qw$Revision: 1.1.1.1 $)[-1];
15
16use Parse::RecDescent;
17use SQL::Translator;
18use base qw[ SQL::Translator ];
19
20sub parse {
21#
22# Override this method if you intend not to use Parse::RecDescent
23#
24 my $self = shift;
25 return $self->parser->file( shift() );
26}
27
28sub parser {
29 my $self = shift;
30 unless ( $self->{'parser'} ) {
31 $self->{'parser'} = Parse::RecDescent->new( $self->grammar );
32 }
33 return $self->{'parser'};
34}
35
361;
37
38#-----------------------------------------------------
39# Enough! or Too much.
40# William Blake
41#-----------------------------------------------------
42
43=head1 NAME
44
45SQL::Translator::Parser - base object for parsers
46
47=head1 SYNOPSIS
48
49 package SQL::Translator::Parser::Foo;
50 use SQL::Translator::Parser;
51 use base( 'SQL::Translator::Parser' );
52 1;
53
54=head1 DESCRIPTION
55
56Blah blah blah.
57
58=head1 AUTHOR
59
60Ken Y. Clark, kclark@logsoft.com
61
62=head1 SEE ALSO
63
64perl(1).
65
66=cut