Commit | Line | Data |
16dc9970 |
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 |