=head1 NAME

design.pod - ANTLR::Runtime Design Document

=head1 ABSTRACT

This document describes the design of the C<ANTLR::Runtime> Perl 5 port.

=head1 OVERVIEW

C<ANTLR::Runtime> is the port of the runtime part for ANTLR to Perl 5.  ANTLR's
primary target language is Java.  This port tries to mimic this implementation
very closely, which hopefully makes it easier to port.  The parts visible to
Perl users should be perlish if possible - at least as a secondary interface.

=head1 Basic Porting Considerations

Java is built on two basic concepts: Objects and Exceptions.  If there's a
good match for those features most other things should fall into place.

=head2 OO

C<ANTLR::Runtime> uses C<Object::InsideOut> for OO modelling.

=head3 Packages

The Java package C<org.antlr.runtime> maps to the Perl 5 package
C<ANTLR::Runtime>.

=head3 Classes

Each Java class maps to a Perl 5 class with the same name.

=head2 Exceptions

C<Exception::Class> should meet our needs and is used by C<Object::InsideOut>
too.

=head2 Types

Here's a list of Java types and how they should map to Perl.

=over

=item byte, short, int, long, float, double, String

Use a Perl scalar.

=item C<java.util.List>

Use a reference to a Perl array.

=item C<java.util.Map>

Use a reference to a Perl hash.

=back

=head1 SEE ALSO

L<http://www.antlr.org/>


=head1 AUTHOR

Ronald Blaschke (ron@rblasch.org)
