Removed in anticipation of a merge.
[dbsrgits/SQL-Translator.git] / lib / SQL / Translator / Parser.pm
1 package 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
12 use strict;
13 use vars qw( $VERSION );
14 $VERSION = (qw$Revision: 1.1.1.1 $)[-1];
15
16 use Parse::RecDescent;
17 use SQL::Translator;
18 use base qw[ SQL::Translator ];
19
20 sub 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
28 sub parser {
29     my $self   = shift;
30     unless ( $self->{'parser'} ) {
31         $self->{'parser'} = Parse::RecDescent->new( $self->grammar );
32     }
33     return $self->{'parser'};
34 }
35
36 1;
37
38 #-----------------------------------------------------
39 # Enough! or Too much.
40 # William Blake
41 #-----------------------------------------------------
42
43 =head1 NAME
44
45 SQL::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
56 Blah blah blah.
57
58 =head1 AUTHOR
59
60 Ken Y. Clark, kclark@logsoft.com
61
62 =head1 SEE ALSO
63
64 perl(1).
65
66 =cut