<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_01) on Mon Apr 23 21:09:00 GMT 2007 -->
<TITLE>
Main
</TITLE>
<META NAME="keywords" CONTENT="java_cup.Main class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="Main";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Main.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../java_cup/lr_item_core.html" title="class in java_cup"><B>PREV CLASS</B></A>
<A HREF="../java_cup/non_terminal.html" title="class in java_cup"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../index.html?java_cup/Main.html" target="_top"><B>FRAMES</B></A>
<A HREF="Main.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
java_cup</FONT>
<BR>
Class Main</H2>
<PRE>
java.lang.Object
<IMG SRC="../resources/inherit.gif" ALT="extended by "><B>java_cup.Main</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>Main</B><DT>extends java.lang.Object</DL>
</PRE>
<P>
This class serves as the main driver for the JavaCup system.
It accepts user options and coordinates overall control flow.
The main flow of control includes the following activities:
<ul>
<li> Parse user supplied arguments and options.
<li> Open output files.
<li> Parse the specification from standard input.
<li> Check for unused terminals, non-terminals, and productions.
<li> Build the state machine, tables, etc.
<li> Output the generated code.
<li> Close output files.
<li> Print a summary if requested.
</ul>
Options to the main program include: <dl>
<dt> -package name
<dd> specify package generated classes go in [default none]
<dt> -parser name
<dd> specify parser class name [default "parser"]
<dt> -symbols name
<dd> specify name for symbol constant class [default "sym"]
<dt> -interface
<dd> emit symbol constant <i>interface</i>, rather than class
<dt> -nonterms
<dd> put non terminals in symbol constant class
<dt> -expect #
<dd> number of conflicts expected/allowed [default 0]
<dt> -compact_red
<dd> compact tables by defaulting to most frequent reduce
<dt> -nowarn
<dd> don't warn about useless productions, etc.
<dt> -nosummary
<dd> don't print the usual summary of parse states, etc.
<dt> -progress
<dd> print messages to indicate progress of the system
<dt> -time
<dd> print time usage summary
<dt> -dump_grammar
<dd> produce a dump of the symbols and grammar
<dt> -dump_states
<dd> produce a dump of parse state machine
<dt> -dump_tables
<dd> produce a dump of the parse tables
<dt> -dump
<dd> produce a dump of all of the above
<dt> -debug
<dd> turn on debugging messages within JavaCup
<dt> -nopositions
<dd> don't generate the positions code
<dt> -noscanner
<dd> don't refer to java_cup.runtime.Scanner in the parser
(for compatibility with old runtimes)
<dt> -version
<dd> print version information for JavaCUP and halt.
</dl>
<P>
<P>
<DL>
<DT><B>Version:</B></DT>
<DD>last updated: 7/3/96</DD>
<DT><B>Author:</B></DT>
<DD>Frank Flannery</DD>
</DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static <A HREF="../java_cup/parse_action_table.html" title="class in java_cup">parse_action_table</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#action_table">action_table</A></B></CODE>
<BR>
Resulting parse action table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#build_end">build_end</A></B></CODE>
<BR>
Timing data -- when did we end state and table building</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#check_end">check_end</A></B></CODE>
<BR>
Timing data -- when did we end checking</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#dump_end">dump_end</A></B></CODE>
<BR>
Timing data -- when did we end dumping</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#emit_end">emit_end</A></B></CODE>
<BR>
Timing data -- when did we finish emitting code</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#expect_conflicts">expect_conflicts</A></B></CODE>
<BR>
User option -- number of conflicts to expect</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#final_time">final_time</A></B></CODE>
<BR>
Timing data -- when were we completely done</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#first_end">first_end</A></B></CODE>
<BR>
Timing data -- when did we end first set calculation</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#include_non_terms">include_non_terms</A></B></CODE>
<BR>
User option -- should we include non terminal symbol numbers in the
symbol constant class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static java.io.BufferedInputStream</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#input_file">input_file</A></B></CODE>
<BR>
Input file.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#lr_values">lr_values</A></B></CODE>
<BR>
User option -- should generator generate code for left/right values?</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#machine_end">machine_end</A></B></CODE>
<BR>
Timing data -- when did we end state machine construction</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#no_summary">no_summary</A></B></CODE>
<BR>
User option -- do not print a summary.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#nullability_end">nullability_end</A></B></CODE>
<BR>
Timing data -- when did we end nullability calculation</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#opt_compact_red">opt_compact_red</A></B></CODE>
<BR>
User option -- do we compact tables by making most common reduce the
default action</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#opt_do_debug">opt_do_debug</A></B></CODE>
<BR>
User option -- do we run produce extra debugging messages</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#opt_dump_grammar">opt_dump_grammar</A></B></CODE>
<BR>
User option -- do we produce a dump of the grammar</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#opt_dump_states">opt_dump_states</A></B></CODE>
<BR>
User option -- do we produce a dump of the state machine</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#opt_dump_tables">opt_dump_tables</A></B></CODE>
<BR>
User option -- do we produce a dump of the parse tables</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#opt_show_timing">opt_show_timing</A></B></CODE>
<BR>
User option -- do we show timing information as a part of the summary</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#parse_end">parse_end</A></B></CODE>
<BR>
Timing data -- when did we end parsing</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static java.io.PrintWriter</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#parser_class_file">parser_class_file</A></B></CODE>
<BR>
Output file for the parser class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#prelim_end">prelim_end</A></B></CODE>
<BR>
Timing data -- when did we end preliminaries</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#print_progress">print_progress</A></B></CODE>
<BR>
User option -- do we print progress messages.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#reduce_check_end">reduce_check_end</A></B></CODE>
<BR>
Timing data -- when did we end checking for non-reduced productions</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static <A HREF="../java_cup/parse_reduce_table.html" title="class in java_cup">parse_reduce_table</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#reduce_table">reduce_table</A></B></CODE>
<BR>
Resulting reduce-goto table.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static <A HREF="../java_cup/lalr_state.html" title="class in java_cup">lalr_state</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#start_state">start_state</A></B></CODE>
<BR>
Start state in the overall state machine.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#start_time">start_time</A></B></CODE>
<BR>
Timing data -- when did we start</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#suppress_scanner">suppress_scanner</A></B></CODE>
<BR>
User option -- should generator suppress references to
java_cup.runtime.Scanner for compatibility with old runtimes?</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#sym_interface">sym_interface</A></B></CODE>
<BR>
User option -- should symbols be put in a class or an interface?</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static java.io.PrintWriter</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#symbol_class_file">symbol_class_file</A></B></CODE>
<BR>
Output file for the symbol constant class.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#table_end">table_end</A></B></CODE>
<BR>
Timing data -- when did we end table construction</TD>
</TR>
</TABLE>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#build_parser()">build_parser</A></B>()</CODE>
<BR>
Build the (internal) parser from the previously parsed specification.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#check_unused()">check_unused</A></B>()</CODE>
<BR>
Check for unused symbols.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#close_files()">close_files</A></B>()</CODE>
<BR>
Close various files used by the system.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#dump_grammar()">dump_grammar</A></B>()</CODE>
<BR>
Produce a human readable dump of the grammar.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#dump_machine()">dump_machine</A></B>()</CODE>
<BR>
Produce a (semi-) human readable dump of the complete viable prefix
recognition state machine.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#dump_tables()">dump_tables</A></B>()</CODE>
<BR>
Produce a (semi-) human readable dumps of the parse tables</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#emit_parser()">emit_parser</A></B>()</CODE>
<BR>
Call the emit routines necessary to write out the generated parser.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#emit_summary(boolean)">emit_summary</A></B>(boolean output_produced)</CODE>
<BR>
Emit a long summary message to standard error (System.err) which
summarizes what was found in the specification, how many states were
produced, how many conflicts were found, etc.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#main(java.lang.String[])">main</A></B>(java.lang.String[] argv)</CODE>
<BR>
The main driver for the system.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#open_files()">open_files</A></B>()</CODE>
<BR>
Open various files used by the system.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#parse_args(java.lang.String[])">parse_args</A></B>(java.lang.String[] argv)</CODE>
<BR>
Parse command line options and arguments to set various user-option
flags and variables.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#parse_grammar_spec()">parse_grammar_spec</A></B>()</CODE>
<BR>
Parse the grammar specification from standard input.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#plural(int)">plural</A></B>(int val)</CODE>
<BR>
Helper routine to optionally return a plural or non-plural ending.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#show_times()">show_times</A></B>()</CODE>
<BR>
Produce the optional timing summary as part of an overall summary.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#timestr(long, long)">timestr</A></B>(long time_val,
long total_time)</CODE>
<BR>
Helper routine to format a decimal based display of seconds and
percentage of total time given counts of milliseconds.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../java_cup/Main.html#usage(java.lang.String)">usage</A></B>(java.lang.String message)</CODE>
<BR>
Print a "usage message" that described possible command line options,
then exit.</TD>
</TR>
</TABLE>
<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="print_progress"><!-- --></A><H3>
print_progress</H3>
<PRE>
protected static boolean <B>print_progress</B></PRE>
<DL>
<DD>User option -- do we print progress messages.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="opt_dump_states"><!-- --></A><H3>
opt_dump_states</H3>
<PRE>
protected static boolean <B>opt_dump_states</B></PRE>
<DL>
<DD>User option -- do we produce a dump of the state machine
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="opt_dump_tables"><!-- --></A><H3>
opt_dump_tables</H3>
<PRE>
protected static boolean <B>opt_dump_tables</B></PRE>
<DL>
<DD>User option -- do we produce a dump of the parse tables
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="opt_dump_grammar"><!-- --></A><H3>
opt_dump_grammar</H3>
<PRE>
protected static boolean <B>opt_dump_grammar</B></PRE>
<DL>
<DD>User option -- do we produce a dump of the grammar
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="opt_show_timing"><!-- --></A><H3>
opt_show_timing</H3>
<PRE>
protected static boolean <B>opt_show_timing</B></PRE>
<DL>
<DD>User option -- do we show timing information as a part of the summary
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="opt_do_debug"><!-- --></A><H3>
opt_do_debug</H3>
<PRE>
protected static boolean <B>opt_do_debug</B></PRE>
<DL>
<DD>User option -- do we run produce extra debugging messages
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="opt_compact_red"><!-- --></A><H3>
opt_compact_red</H3>
<PRE>
protected static boolean <B>opt_compact_red</B></PRE>
<DL>
<DD>User option -- do we compact tables by making most common reduce the
default action
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="include_non_terms"><!-- --></A><H3>
include_non_terms</H3>
<PRE>
protected static boolean <B>include_non_terms</B></PRE>
<DL>
<DD>User option -- should we include non terminal symbol numbers in the
symbol constant class.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="no_summary"><!-- --></A><H3>
no_summary</H3>
<PRE>
protected static boolean <B>no_summary</B></PRE>
<DL>
<DD>User option -- do not print a summary.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="expect_conflicts"><!-- --></A><H3>
expect_conflicts</H3>
<PRE>
protected static int <B>expect_conflicts</B></PRE>
<DL>
<DD>User option -- number of conflicts to expect
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="lr_values"><!-- --></A><H3>
lr_values</H3>
<PRE>
protected static boolean <B>lr_values</B></PRE>
<DL>
<DD>User option -- should generator generate code for left/right values?
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="sym_interface"><!-- --></A><H3>
sym_interface</H3>
<PRE>
protected static boolean <B>sym_interface</B></PRE>
<DL>
<DD>User option -- should symbols be put in a class or an interface? [CSA]
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="suppress_scanner"><!-- --></A><H3>
suppress_scanner</H3>
<PRE>
protected static boolean <B>suppress_scanner</B></PRE>
<DL>
<DD>User option -- should generator suppress references to
java_cup.runtime.Scanner for compatibility with old runtimes?
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="start_time"><!-- --></A><H3>
start_time</H3>
<PRE>
protected static long <B>start_time</B></PRE>
<DL>
<DD>Timing data -- when did we start
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="prelim_end"><!-- --></A><H3>
prelim_end</H3>
<PRE>
protected static long <B>prelim_end</B></PRE>
<DL>
<DD>Timing data -- when did we end preliminaries
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="parse_end"><!-- --></A><H3>
parse_end</H3>
<PRE>
protected static long <B>parse_end</B></PRE>
<DL>
<DD>Timing data -- when did we end parsing
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="check_end"><!-- --></A><H3>
check_end</H3>
<PRE>
protected static long <B>check_end</B></PRE>
<DL>
<DD>Timing data -- when did we end checking
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="dump_end"><!-- --></A><H3>
dump_end</H3>
<PRE>
protected static long <B>dump_end</B></PRE>
<DL>
<DD>Timing data -- when did we end dumping
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="build_end"><!-- --></A><H3>
build_end</H3>
<PRE>
protected static long <B>build_end</B></PRE>
<DL>
<DD>Timing data -- when did we end state and table building
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="nullability_end"><!-- --></A><H3>
nullability_end</H3>
<PRE>
protected static long <B>nullability_end</B></PRE>
<DL>
<DD>Timing data -- when did we end nullability calculation
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="first_end"><!-- --></A><H3>
first_end</H3>
<PRE>
protected static long <B>first_end</B></PRE>
<DL>
<DD>Timing data -- when did we end first set calculation
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="machine_end"><!-- --></A><H3>
machine_end</H3>
<PRE>
protected static long <B>machine_end</B></PRE>
<DL>
<DD>Timing data -- when did we end state machine construction
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="table_end"><!-- --></A><H3>
table_end</H3>
<PRE>
protected static long <B>table_end</B></PRE>
<DL>
<DD>Timing data -- when did we end table construction
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="reduce_check_end"><!-- --></A><H3>
reduce_check_end</H3>
<PRE>
protected static long <B>reduce_check_end</B></PRE>
<DL>
<DD>Timing data -- when did we end checking for non-reduced productions
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="emit_end"><!-- --></A><H3>
emit_end</H3>
<PRE>
protected static long <B>emit_end</B></PRE>
<DL>
<DD>Timing data -- when did we finish emitting code
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="final_time"><!-- --></A><H3>
final_time</H3>
<PRE>
protected static long <B>final_time</B></PRE>
<DL>
<DD>Timing data -- when were we completely done
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="input_file"><!-- --></A><H3>
input_file</H3>
<PRE>
protected static java.io.BufferedInputStream <B>input_file</B></PRE>
<DL>
<DD>Input file. This is a buffered version of System.in.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="parser_class_file"><!-- --></A><H3>
parser_class_file</H3>
<PRE>
protected static java.io.PrintWriter <B>parser_class_file</B></PRE>
<DL>
<DD>Output file for the parser class.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="symbol_class_file"><!-- --></A><H3>
symbol_class_file</H3>
<PRE>
protected static java.io.PrintWriter <B>symbol_class_file</B></PRE>
<DL>
<DD>Output file for the symbol constant class.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="start_state"><!-- --></A><H3>
start_state</H3>
<PRE>
protected static <A HREF="../java_cup/lalr_state.html" title="class in java_cup">lalr_state</A> <B>start_state</B></PRE>
<DL>
<DD>Start state in the overall state machine.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="action_table"><!-- --></A><H3>
action_table</H3>
<PRE>
protected static <A HREF="../java_cup/parse_action_table.html" title="class in java_cup">parse_action_table</A> <B>action_table</B></PRE>
<DL>
<DD>Resulting parse action table.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="reduce_table"><!-- --></A><H3>
reduce_table</H3>
<PRE>
protected static <A HREF="../java_cup/parse_reduce_table.html" title="class in java_cup">parse_reduce_table</A> <B>reduce_table</B></PRE>
<DL>
<DD>Resulting reduce-goto table.
<P>
<DL>
</DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="main(java.lang.String[])"><!-- --></A><H3>
main</H3>
<PRE>
public static void <B>main</B>(java.lang.String[] argv)
throws <A HREF="../java_cup/internal_error.html" title="class in java_cup">internal_error</A>,
java.io.IOException,
java.lang.Exception</PRE>
<DL>
<DD>The main driver for the system.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>argv</CODE> - an array of strings containing command line arguments.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../java_cup/internal_error.html" title="class in java_cup">internal_error</A></CODE>
<DD><CODE>java.io.IOException</CODE>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="usage(java.lang.String)"><!-- --></A><H3>
usage</H3>
<PRE>
protected static void <B>usage</B>(java.lang.String message)</PRE>
<DL>
<DD>Print a "usage message" that described possible command line options,
then exit.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>message</CODE> - a specific error message to preface the usage message by.</DL>
</DD>
</DL>
<HR>
<A NAME="parse_args(java.lang.String[])"><!-- --></A><H3>
parse_args</H3>
<PRE>
protected static void <B>parse_args</B>(java.lang.String[] argv)</PRE>
<DL>
<DD>Parse command line options and arguments to set various user-option
flags and variables.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>argv</CODE> - the command line arguments to be parsed.</DL>
</DD>
</DL>
<HR>
<A NAME="open_files()"><!-- --></A><H3>
open_files</H3>
<PRE>
protected static void <B>open_files</B>()</PRE>
<DL>
<DD>Open various files used by the system.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="close_files()"><!-- --></A><H3>
close_files</H3>
<PRE>
protected static void <B>close_files</B>()
throws java.io.IOException</PRE>
<DL>
<DD>Close various files used by the system.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.io.IOException</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="parse_grammar_spec()"><!-- --></A><H3>
parse_grammar_spec</H3>
<PRE>
protected static void <B>parse_grammar_spec</B>()
throws java.lang.Exception</PRE>
<DL>
<DD>Parse the grammar specification from standard input. This produces
sets of terminal, non-terminals, and productions which can be accessed
via static variables of the respective classes, as well as the setting
of various variables (mostly in the emit class) for small user supplied
items such as the code to scan with.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE>java.lang.Exception</CODE></DL>
</DD>
</DL>
<HR>
<A NAME="check_unused()"><!-- --></A><H3>
check_unused</H3>
<PRE>
protected static void <B>check_unused</B>()</PRE>
<DL>
<DD>Check for unused symbols. Unreduced productions get checked when
tables are created.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="build_parser()"><!-- --></A><H3>
build_parser</H3>
<PRE>
protected static void <B>build_parser</B>()
throws <A HREF="../java_cup/internal_error.html" title="class in java_cup">internal_error</A></PRE>
<DL>
<DD>Build the (internal) parser from the previously parsed specification.
This includes:<ul>
<li> Computing nullability of non-terminals.
<li> Computing first sets of non-terminals and productions.
<li> Building the viable prefix recognizer machine.
<li> Filling in the (internal) parse tables.
<li> Checking for unreduced productions.
</ul>
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../java_cup/internal_error.html" title="class in java_cup">internal_error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="emit_parser()"><!-- --></A><H3>
emit_parser</H3>
<PRE>
protected static void <B>emit_parser</B>()
throws <A HREF="../java_cup/internal_error.html" title="class in java_cup">internal_error</A></PRE>
<DL>
<DD>Call the emit routines necessary to write out the generated parser.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../java_cup/internal_error.html" title="class in java_cup">internal_error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="plural(int)"><!-- --></A><H3>
plural</H3>
<PRE>
protected static java.lang.String <B>plural</B>(int val)</PRE>
<DL>
<DD>Helper routine to optionally return a plural or non-plural ending.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>val</CODE> - the numerical value determining plurality.</DL>
</DD>
</DL>
<HR>
<A NAME="emit_summary(boolean)"><!-- --></A><H3>
emit_summary</H3>
<PRE>
protected static void <B>emit_summary</B>(boolean output_produced)</PRE>
<DL>
<DD>Emit a long summary message to standard error (System.err) which
summarizes what was found in the specification, how many states were
produced, how many conflicts were found, etc. A detailed timing
summary is also produced if it was requested by the user.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>output_produced</CODE> - did the system get far enough to generate code.</DL>
</DD>
</DL>
<HR>
<A NAME="show_times()"><!-- --></A><H3>
show_times</H3>
<PRE>
protected static void <B>show_times</B>()</PRE>
<DL>
<DD>Produce the optional timing summary as part of an overall summary.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="timestr(long, long)"><!-- --></A><H3>
timestr</H3>
<PRE>
protected static java.lang.String <B>timestr</B>(long time_val,
long total_time)</PRE>
<DL>
<DD>Helper routine to format a decimal based display of seconds and
percentage of total time given counts of milliseconds. Note: this
is broken for use with some instances of negative time (since we don't
use any negative time here, we let if be for now).
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>time_val</CODE> - the value being formatted (in ms).<DD><CODE>total_time</CODE> - total time percentages are calculated against (in ms).</DL>
</DD>
</DL>
<HR>
<A NAME="dump_grammar()"><!-- --></A><H3>
dump_grammar</H3>
<PRE>
public static void <B>dump_grammar</B>()
throws <A HREF="../java_cup/internal_error.html" title="class in java_cup">internal_error</A></PRE>
<DL>
<DD>Produce a human readable dump of the grammar.
<P>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../java_cup/internal_error.html" title="class in java_cup">internal_error</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="dump_machine()"><!-- --></A><H3>
dump_machine</H3>
<PRE>
public static void <B>dump_machine</B>()</PRE>
<DL>
<DD>Produce a (semi-) human readable dump of the complete viable prefix
recognition state machine.
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="dump_tables()"><!-- --></A><H3>
dump_tables</H3>
<PRE>
public static void <B>dump_tables</B>()</PRE>
<DL>
<DD>Produce a (semi-) human readable dumps of the parse tables
<P>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/Main.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../java_cup/lr_item_core.html" title="class in java_cup"><B>PREV CLASS</B></A>
<A HREF="../java_cup/non_terminal.html" title="class in java_cup"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../index.html?java_cup/Main.html" target="_top"><B>FRAMES</B></A>
<A HREF="Main.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: NESTED | <A HREF="#field_summary">FIELD</A> | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: <A HREF="#field_detail">FIELD</A> | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>