MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /usr/share/javadoc/java_cup/java_cup/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/javadoc/java_cup/java_cup/Main.html
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE html PUBLIC "-//gnu.org///DTD XHTML 1.1 plus Target 1.0//EN" "../resources/xhtml11-target10.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><title>Main (java_cup API)</title><script src="../resources/gjdoc.js" type="text/javascript"><!-- this comment required for konqueror 3.2.2 --></script><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"/><meta name="generator" content="GNU Gjdoc Standard Doclet"/><meta name="keywords" content="java_cup.Main class"/><meta name="keywords" content="print_progress"/><meta name="keywords" content="opt_dump_states"/><meta name="keywords" content="opt_dump_tables"/><meta name="keywords" content="opt_dump_grammar"/><meta name="keywords" content="opt_show_timing"/><meta name="keywords" content="opt_do_debug"/><meta name="keywords" content="opt_compact_red"/><meta name="keywords" content="include_non_terms"/><meta name="keywords" content="no_summary"/><meta name="keywords" content="expect_conflicts"/><meta name="keywords" content="lr_values"/><meta name="keywords" content="sym_interface"/><meta name="keywords" content="suppress_scanner"/><meta name="keywords" content="start_time"/><meta name="keywords" content="prelim_end"/><meta name="keywords" content="parse_end"/><meta name="keywords" content="check_end"/><meta name="keywords" content="dump_end"/><meta name="keywords" content="build_end"/><meta name="keywords" content="nullability_end"/><meta name="keywords" content="first_end"/><meta name="keywords" content="machine_end"/><meta name="keywords" content="table_end"/><meta name="keywords" content="reduce_check_end"/><meta name="keywords" content="emit_end"/><meta name="keywords" content="final_time"/><meta name="keywords" content="input_file"/><meta name="keywords" content="parser_class_file"/><meta name="keywords" content="symbol_class_file"/><meta name="keywords" content="start_state"/><meta name="keywords" content="action_table"/><meta name="keywords" content="reduce_table"/><meta name="keywords" content="main()"/><meta name="keywords" content="usage()"/><meta name="keywords" content="parse_args()"/><meta name="keywords" content="open_files()"/><meta name="keywords" content="close_files()"/><meta name="keywords" content="parse_grammar_spec()"/><meta name="keywords" content="check_unused()"/><meta name="keywords" content="build_parser()"/><meta name="keywords" content="emit_parser()"/><meta name="keywords" content="plural()"/><meta name="keywords" content="emit_summary()"/><meta name="keywords" content="show_times()"/><meta name="keywords" content="timestr()"/><meta name="keywords" content="dump_grammar()"/><meta name="keywords" content="dump_machine()"/><meta name="keywords" content="dump_tables()"/><link rel="stylesheet" type="text/css" href="../resources/gjdochtml-clean-layout.css" title="GNU Clean"/><link rel="stylesheet" type="text/css" href="../resources/gjdochtml-clean-color1.css" title="GNU Clean"/></head><body class="content class" onload="if(parent.contentPageLoaded)parent.contentPageLoaded(document.title)"><table class="navbar div top"><tr><td class="navbar div top"><div class="navbar div top"><span class="navbar item enabled"><a href="../overview-summary.html">Overview</a></span> <span class="navbar item enabled"><a href="package-summary.html">Package</a></span> <span class="navbar item active">Class</span> <span class="navbar item enabled"><a href="Main-uses.html">Use</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../about.html">About</a></span></div></td></tr><tr><td class="navi"><a href="../java_cup/lr_item_core.html">Prev Class</a> | <a href="../java_cup/nonassoc_action.html">Next Class</a></td><td class="navi"><a href="../index.html" title="Show in a frameset" target="_top">Frames</a> | <a href="Main.html" title="Show without frames" target="_top">No Frames</a> </td></tr><tr><td class="navi">Summary: Nested | <a href="#summary-fields">Field</a> | <a href="#summary-methods">Method</a> | Constr</td><td class="navi">Detail: Nested | <a href="#detail-fields">Field</a> | <a href="#detail-methods">Method</a> | Constr</td></tr></table><div class="class title outer"><h3 class="class title-package">java_cup</h3><h1 class="class title-class">Class Main</h1></div><div class="class inheritance-tree"><ul class="inheritance 0"><li class="inheritance 0"><code>java.lang.Object</code></li><li><ul class="inheritance 1"><li class="inheritance 1"><code>java_cup.Main</code></li><li></li></ul></li></ul></div><hr/><div class="class synopsis outer"><div class="class synopsis declaration"><code>public class <b class="class synopsis name">Main</b></code></div><div class="class synopsis superclass"><code>extends java.lang.Object</code></div></div><hr/><div class="class description">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><li> Open output files.
    </li><li> Parse the specification from standard input.
    </li><li> Check for unused terminals, non-terminals, and productions.
    </li><li> Build the state machine, tables, etc.
    </li><li> Output the generated code.
    </li><li> Close output files.
    </li><li> Print a summary if requested.
  </li></ul>

  Options to the main program include: <dl>
   <dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd><i>interface</i></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd><dt></dt><dd></dd></dl>
</div><div class="taglet"><dl class="tag list"></dl><dt class="tag section header"><b>Version:</b></dt><dd>last updated: 7/3/96</dd></dl></div><div class="taglet"><dl class="tag list"><dt class="tag section header"><b>Author:</b></dt><dd class="tag item">Frank Flannery</dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><a name="summary-fields" id="summary-fields"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Field Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static <a href="../java_cup/parse_action_table.html" title="Class in java_cup">parse_action_table</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#action_table">action_table</a></code></dt><dd class="description">Resulting parse action table.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#build_end">build_end</a></code></dt><dd class="description">Timing data -- when did we end state and table building </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#check_end">check_end</a></code></dt><dd class="description">Timing data -- when did we end checking </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#dump_end">dump_end</a></code></dt><dd class="description">Timing data -- when did we end dumping </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#emit_end">emit_end</a></code></dt><dd class="description">Timing data -- when did we finish emitting code </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static int</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#expect_conflicts">expect_conflicts</a></code></dt><dd class="description">User option -- number of conflicts to expect </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#final_time">final_time</a></code></dt><dd class="description">Timing data -- when were we completely done </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#first_end">first_end</a></code></dt><dd class="description">Timing data -- when did we end first set calculation </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#include_non_terms">include_non_terms</a></code></dt><dd class="description">User option -- should we include non terminal symbol numbers in the 
symbol constant class.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static BufferedInputStream</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#input_file">input_file</a></code></dt><dd class="description">Input file.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#lr_values">lr_values</a></code></dt><dd class="description">User option -- should generator generate code for left/right values? </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#machine_end">machine_end</a></code></dt><dd class="description">Timing data -- when did we end state machine construction </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#no_summary">no_summary</a></code></dt><dd class="description">User option -- do not print a summary.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#nullability_end">nullability_end</a></code></dt><dd class="description">Timing data -- when did we end nullability calculation </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#opt_compact_red">opt_compact_red</a></code></dt><dd class="description">User option -- do we compact tables by making most common reduce the 
default action </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#opt_do_debug">opt_do_debug</a></code></dt><dd class="description">User option -- do we run produce extra debugging messages </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#opt_dump_grammar">opt_dump_grammar</a></code></dt><dd class="description">User option -- do we produce a dump of the grammar </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#opt_dump_states">opt_dump_states</a></code></dt><dd class="description">User option -- do we produce a dump of the state machine </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#opt_dump_tables">opt_dump_tables</a></code></dt><dd class="description">User option -- do we produce a dump of the parse tables </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#opt_show_timing">opt_show_timing</a></code></dt><dd class="description">User option -- do we show timing information as a part of the summary </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#parse_end">parse_end</a></code></dt><dd class="description">Timing data -- when did we end parsing </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static PrintWriter</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#parser_class_file">parser_class_file</a></code></dt><dd class="description">Output file for the parser class.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#prelim_end">prelim_end</a></code></dt><dd class="description">Timing data -- when did we end preliminaries </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#print_progress">print_progress</a></code></dt><dd class="description">User option -- do we print progress messages.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#reduce_check_end">reduce_check_end</a></code></dt><dd class="description">Timing data -- when did we end checking for non-reduced productions </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static <a href="../java_cup/parse_reduce_table.html" title="Class in java_cup">parse_reduce_table</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#reduce_table">reduce_table</a></code></dt><dd class="description">Resulting reduce-goto table.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static <a href="../java_cup/lalr_state.html" title="Class in java_cup">lalr_state</a></code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#start_state">start_state</a></code></dt><dd class="description">Start state in the overall state machine.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#start_time">start_time</a></code></dt><dd class="description">Timing data -- when did we start </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#suppress_scanner">suppress_scanner</a></code></dt><dd class="description">User option -- should generator suppress references to
  java_cup.runtime.Scanner for compatibility with old runtimes? </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static boolean</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#sym_interface">sym_interface</a></code></dt><dd class="description">User option -- should symbols be put in a class or an interface? [CSA]</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static PrintWriter</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#symbol_class_file">symbol_class_file</a></code></dt><dd class="description">Output file for the symbol constant class.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static long</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#table_end">table_end</a></code></dt><dd class="description">Timing data -- when did we end table construction </dd></dl></td></tr></table></dd></dl><a name="summary-methods" id="summary-methods"/><dl class="table container"><dd><table class="class summary" border="1" width="100%"><tr class="table header"><td colspan="2"><h2 class="table header">Method Summary</h2></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#build_parser()">build_parser</a>()</code></dt><dd class="description">Build the (internal) parser from the previously parsed specification.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#check_unused()">check_unused</a>()</code></dt><dd class="description">Check for unused symbols.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#close_files()">close_files</a>()</code></dt><dd class="description">Close various files used by the system.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#dump_grammar()">dump_grammar</a>()</code></dt><dd class="description">Produce a human readable dump of the grammar.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#dump_machine()">dump_machine</a>()</code></dt><dd class="description">Produce a (semi-) human readable dump of the complete viable prefix 
  recognition state machine.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#dump_tables()">dump_tables</a>()</code></dt><dd class="description">Produce a (semi-) human readable dumps of the parse tables </dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#emit_parser()">emit_parser</a>()</code></dt><dd class="description">Call the emit routines necessary to write out the generated parser.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#emit_summary(boolean)">emit_summary</a>(boolean&nbsp;output_produced)</code></dt><dd class="description">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.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#main(argv[])">main</a>(argv[]&nbsp;)</code></dt><dd class="description">The main driver for the system.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#open_files()">open_files</a>()</code></dt><dd class="description">Open various files used by the system.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#parse_args(argv[])">parse_args</a>(argv[]&nbsp;)</code></dt><dd class="description">Parse command line options and arguments to set various user-option
  flags and variables.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#parse_grammar_spec()">parse_grammar_spec</a>()</code></dt><dd class="description">Parse the grammar specification from standard input.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#plural(int)">plural</a>(int&nbsp;val)</code></dt><dd class="description">Helper routine to optionally return a plural or non-plural ending.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#show_times()">show_times</a>()</code></dt><dd class="description">Produce the optional timing summary as part of an overall summary.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static String</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#timestr(long,long)">timestr</a>(long&nbsp;time_val, long&nbsp;total_time)</code></dt><dd class="description">Helper routine to format a decimal based display of seconds and
  percentage of total time given counts of milliseconds.</dd></dl></td></tr><tr><td class="left" valign="top"><code class="synopsis">protected static void</code></td><td class="right"><dl class="list"><dt class="synopsis"><code><a href="#usage(String)">usage</a>(String&nbsp;message)</code></dt><dd class="description">Print a "usage message" that described possible command line options, 
  then exit.</dd></dl></td></tr></table></dd></dl><a name="detail-fields" id="detail-fields"/><h2 class="section header">Field Details</h2><div class="section"><a name="action_table" id="action_table"/><div class="member detail outer"><h3 class="member detail name">action_table</h3><pre class="member detail synopsis">protected static <a href="../java_cup/parse_action_table.html" title="Class in java_cup">parse_action_table</a> action_table</pre><blockquote class="member detail name"><div class="member detail description">Resulting parse action table. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="build_end" id="build_end"/><div class="member detail outer"><h3 class="member detail name">build_end</h3><pre class="member detail synopsis">protected static long build_end</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we end state and table building </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="check_end" id="check_end"/><div class="member detail outer"><h3 class="member detail name">check_end</h3><pre class="member detail synopsis">protected static long check_end</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we end checking </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="dump_end" id="dump_end"/><div class="member detail outer"><h3 class="member detail name">dump_end</h3><pre class="member detail synopsis">protected static long dump_end</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we end dumping </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="emit_end" id="emit_end"/><div class="member detail outer"><h3 class="member detail name">emit_end</h3><pre class="member detail synopsis">protected static long emit_end</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we finish emitting code </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="expect_conflicts" id="expect_conflicts"/><div class="member detail outer"><h3 class="member detail name">expect_conflicts</h3><pre class="member detail synopsis">protected static int expect_conflicts</pre><blockquote class="member detail name"><div class="member detail description">User option -- number of conflicts to expect </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="final_time" id="final_time"/><div class="member detail outer"><h3 class="member detail name">final_time</h3><pre class="member detail synopsis">protected static long final_time</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when were we completely done </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="first_end" id="first_end"/><div class="member detail outer"><h3 class="member detail name">first_end</h3><pre class="member detail synopsis">protected static long first_end</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we end first set calculation </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="include_non_terms" id="include_non_terms"/><div class="member detail outer"><h3 class="member detail name">include_non_terms</h3><pre class="member detail synopsis">protected static boolean include_non_terms</pre><blockquote class="member detail name"><div class="member detail description">User option -- should we include non terminal symbol numbers in the 
symbol constant class. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="input_file" id="input_file"/><div class="member detail outer"><h3 class="member detail name">input_file</h3><pre class="member detail synopsis">protected static BufferedInputStream input_file</pre><blockquote class="member detail name"><div class="member detail description">Input file.  This is a buffered version of System.in. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="lr_values" id="lr_values"/><div class="member detail outer"><h3 class="member detail name">lr_values</h3><pre class="member detail synopsis">protected static boolean lr_values</pre><blockquote class="member detail name"><div class="member detail description">User option -- should generator generate code for left/right values? </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="machine_end" id="machine_end"/><div class="member detail outer"><h3 class="member detail name">machine_end</h3><pre class="member detail synopsis">protected static long machine_end</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we end state machine construction </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="no_summary" id="no_summary"/><div class="member detail outer"><h3 class="member detail name">no_summary</h3><pre class="member detail synopsis">protected static boolean no_summary</pre><blockquote class="member detail name"><div class="member detail description">User option -- do not print a summary. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="nullability_end" id="nullability_end"/><div class="member detail outer"><h3 class="member detail name">nullability_end</h3><pre class="member detail synopsis">protected static long nullability_end</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we end nullability calculation </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="opt_compact_red" id="opt_compact_red"/><div class="member detail outer"><h3 class="member detail name">opt_compact_red</h3><pre class="member detail synopsis">protected static boolean opt_compact_red</pre><blockquote class="member detail name"><div class="member detail description">User option -- do we compact tables by making most common reduce the 
default action </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="opt_do_debug" id="opt_do_debug"/><div class="member detail outer"><h3 class="member detail name">opt_do_debug</h3><pre class="member detail synopsis">protected static boolean opt_do_debug</pre><blockquote class="member detail name"><div class="member detail description">User option -- do we run produce extra debugging messages </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="opt_dump_grammar" id="opt_dump_grammar"/><div class="member detail outer"><h3 class="member detail name">opt_dump_grammar</h3><pre class="member detail synopsis">protected static boolean opt_dump_grammar</pre><blockquote class="member detail name"><div class="member detail description">User option -- do we produce a dump of the grammar </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="opt_dump_states" id="opt_dump_states"/><div class="member detail outer"><h3 class="member detail name">opt_dump_states</h3><pre class="member detail synopsis">protected static boolean opt_dump_states</pre><blockquote class="member detail name"><div class="member detail description">User option -- do we produce a dump of the state machine </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="opt_dump_tables" id="opt_dump_tables"/><div class="member detail outer"><h3 class="member detail name">opt_dump_tables</h3><pre class="member detail synopsis">protected static boolean opt_dump_tables</pre><blockquote class="member detail name"><div class="member detail description">User option -- do we produce a dump of the parse tables </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="opt_show_timing" id="opt_show_timing"/><div class="member detail outer"><h3 class="member detail name">opt_show_timing</h3><pre class="member detail synopsis">protected static boolean opt_show_timing</pre><blockquote class="member detail name"><div class="member detail description">User option -- do we show timing information as a part of the summary </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="parse_end" id="parse_end"/><div class="member detail outer"><h3 class="member detail name">parse_end</h3><pre class="member detail synopsis">protected static long parse_end</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we end parsing </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="parser_class_file" id="parser_class_file"/><div class="member detail outer"><h3 class="member detail name">parser_class_file</h3><pre class="member detail synopsis">protected static PrintWriter parser_class_file</pre><blockquote class="member detail name"><div class="member detail description">Output file for the parser class. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="prelim_end" id="prelim_end"/><div class="member detail outer"><h3 class="member detail name">prelim_end</h3><pre class="member detail synopsis">protected static long prelim_end</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we end preliminaries </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="print_progress" id="print_progress"/><div class="member detail outer"><h3 class="member detail name">print_progress</h3><pre class="member detail synopsis">protected static boolean print_progress</pre><blockquote class="member detail name"><div class="member detail description">User option -- do we print progress messages. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="reduce_check_end" id="reduce_check_end"/><div class="member detail outer"><h3 class="member detail name">reduce_check_end</h3><pre class="member detail synopsis">protected static long reduce_check_end</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we end checking for non-reduced productions </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="reduce_table" id="reduce_table"/><div class="member detail outer"><h3 class="member detail name">reduce_table</h3><pre class="member detail synopsis">protected static <a href="../java_cup/parse_reduce_table.html" title="Class in java_cup">parse_reduce_table</a> reduce_table</pre><blockquote class="member detail name"><div class="member detail description">Resulting reduce-goto table. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="start_state" id="start_state"/><div class="member detail outer"><h3 class="member detail name">start_state</h3><pre class="member detail synopsis">protected static <a href="../java_cup/lalr_state.html" title="Class in java_cup">lalr_state</a> start_state</pre><blockquote class="member detail name"><div class="member detail description">Start state in the overall state machine. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="start_time" id="start_time"/><div class="member detail outer"><h3 class="member detail name">start_time</h3><pre class="member detail synopsis">protected static long start_time</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we start </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="suppress_scanner" id="suppress_scanner"/><div class="member detail outer"><h3 class="member detail name">suppress_scanner</h3><pre class="member detail synopsis">protected static boolean suppress_scanner</pre><blockquote class="member detail name"><div class="member detail description">User option -- should generator suppress references to
  java_cup.runtime.Scanner for compatibility with old runtimes? </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="sym_interface" id="sym_interface"/><div class="member detail outer"><h3 class="member detail name">sym_interface</h3><pre class="member detail synopsis">protected static boolean sym_interface</pre><blockquote class="member detail name"><div class="member detail description">User option -- should symbols be put in a class or an interface? [CSA]</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="symbol_class_file" id="symbol_class_file"/><div class="member detail outer"><h3 class="member detail name">symbol_class_file</h3><pre class="member detail synopsis">protected static PrintWriter symbol_class_file</pre><blockquote class="member detail name"><div class="member detail description">Output file for the symbol constant class. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="table_end" id="table_end"/><div class="member detail outer"><h3 class="member detail name">table_end</h3><pre class="member detail synopsis">protected static long table_end</pre><blockquote class="member detail name"><div class="member detail description">Timing data -- when did we end table construction </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><a name="detail-methods" id="detail-methods"/><h2 class="section header">Method Details</h2><div class="section"><a name="build_parser()" id="build_parser()"/><div class="member detail outer"><h3 class="member detail name">build_parser</h3><pre class="member detail synopsis">protected static void build_parser()
            throws <a href="../java_cup/internal_error.html" title="Class in java_cup">internal_error</a></pre><blockquote class="member detail name"><div class="member detail description">Build the (internal) parser from the previously parsed specification.
  This includes:<ul><li> Computing nullability of non-terminals.
    </li><li> Computing first sets of non-terminals and productions.
    </li><li> Building the viable prefix recognizer machine.
    </li><li> Filling in the (internal) parse tables.
    </li><li> Checking for unreduced productions.
  </li></ul>
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="check_unused()" id="check_unused()"/><div class="member detail outer"><h3 class="member detail name">check_unused</h3><pre class="member detail synopsis">protected static void check_unused()</pre><blockquote class="member detail name"><div class="member detail description">Check for unused symbols.  Unreduced productions get checked when
  tables are created.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="close_files()" id="close_files()"/><div class="member detail outer"><h3 class="member detail name">close_files</h3><pre class="member detail synopsis">protected static void close_files()
            throws java.io.IOException</pre><blockquote class="member detail name"><div class="member detail description">Close various files used by the system. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="dump_grammar()" id="dump_grammar()"/><div class="member detail outer"><h3 class="member detail name">dump_grammar</h3><pre class="member detail synopsis">public static void dump_grammar()
            throws <a href="../java_cup/internal_error.html" title="Class in java_cup">internal_error</a></pre><blockquote class="member detail name"><div class="member detail description">Produce a human readable dump of the grammar. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="dump_machine()" id="dump_machine()"/><div class="member detail outer"><h3 class="member detail name">dump_machine</h3><pre class="member detail synopsis">public static void dump_machine()</pre><blockquote class="member detail name"><div class="member detail description">Produce a (semi-) human readable dump of the complete viable prefix 
  recognition state machine. 
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="dump_tables()" id="dump_tables()"/><div class="member detail outer"><h3 class="member detail name">dump_tables</h3><pre class="member detail synopsis">public static void dump_tables()</pre><blockquote class="member detail name"><div class="member detail description">Produce a (semi-) human readable dumps of the parse tables </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="emit_parser()" id="emit_parser()"/><div class="member detail outer"><h3 class="member detail name">emit_parser</h3><pre class="member detail synopsis">protected static void emit_parser()
            throws <a href="../java_cup/internal_error.html" title="Class in java_cup">internal_error</a></pre><blockquote class="member detail name"><div class="member detail description">Call the emit routines necessary to write out the generated parser. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="emit_summary(boolean)" id="emit_summary(boolean)"/><div class="member detail outer"><h3 class="member detail name">emit_summary</h3><pre class="member detail synopsis">protected static void emit_summary(boolean output_produced)</pre><blockquote class="member detail name"><div class="member detail description">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.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">output_produced</code><span class="separator"> - </span><span class="description">did the system get far enough to generate code.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="main(argv[])" id="main(argv[])"/><div class="member detail outer"><h3 class="member detail name">main</h3><pre class="member detail synopsis">public static void main(argv[] )
            throws <a href="../java_cup/internal_error.html" title="Class in java_cup">internal_error</a>,
                   java.io.IOException,
                   java.lang.Exception</pre><blockquote class="member detail name"><div class="member detail description">The main driver for the system. 
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="open_files()" id="open_files()"/><div class="member detail outer"><h3 class="member detail name">open_files</h3><pre class="member detail synopsis">protected static void open_files()</pre><blockquote class="member detail name"><div class="member detail description">Open various files used by the system. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="parse_args(argv[])" id="parse_args(argv[])"/><div class="member detail outer"><h3 class="member detail name">parse_args</h3><pre class="member detail synopsis">protected static void parse_args(argv[] )</pre><blockquote class="member detail name"><div class="member detail description">Parse command line options and arguments to set various user-option
  flags and variables. 
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="parse_grammar_spec()" id="parse_grammar_spec()"/><div class="member detail outer"><h3 class="member detail name">parse_grammar_spec</h3><pre class="member detail synopsis">protected static void parse_grammar_spec()
            throws java.lang.Exception</pre><blockquote class="member detail name"><div class="member detail description">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.
</div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="plural(int)" id="plural(int)"/><div class="member detail outer"><h3 class="member detail name">plural</h3><pre class="member detail synopsis">protected static String plural(int val)</pre><blockquote class="member detail name"><div class="member detail description">Helper routine to optionally return a plural or non-plural ending. 
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">val</code><span class="separator"> - </span><span class="description">the numerical value determining plurality.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="show_times()" id="show_times()"/><div class="member detail outer"><h3 class="member detail name">show_times</h3><pre class="member detail synopsis">protected static void show_times()</pre><blockquote class="member detail name"><div class="member detail description">Produce the optional timing summary as part of an overall summary. </div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="timestr(long,long)" id="timestr(long,long)"/><div class="member detail outer"><h3 class="member detail name">timestr</h3><pre class="member detail synopsis">protected static String timestr(long time_val,
                                long total_time)</pre><blockquote class="member detail name"><div class="member detail description">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).
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">time_val</code><span class="separator"> - </span><span class="description">the value being formatted (in ms).</span></dd><dd class="item"><code class="name">total_time</code><span class="separator"> - </span><span class="description">total time percentages are calculated against (in ms).</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div><hr/><a name="usage(String)" id="usage(String)"/><div class="member detail outer"><h3 class="member detail name">usage</h3><pre class="member detail synopsis">protected static void usage(String message)</pre><blockquote class="member detail name"><div class="member detail description">Print a "usage message" that described possible command line options, 
  then exit.
</div><div class="parameter"><dl><dt class="header"><b>Parameters:</b></dt><dd class="item"><code class="name">message</code><span class="separator"> - </span><span class="description">a specific error message to preface the usage message by.</span></dd></dl></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div><div class="taglet"></div></blockquote></div></div><p class="navbar bottom spacer"> </p><table class="navbar div bottom"><tr><td><div class="navbar div top"><span class="navbar item enabled"><a href="../overview-summary.html">Overview</a></span> <span class="navbar item enabled"><a href="package-summary.html">Package</a></span> <span class="navbar item active">Class</span> <span class="navbar item enabled"><a href="Main-uses.html">Use</a></span> <span class="navbar item enabled"><a href="tree.html">Tree</a></span> <span class="navbar item enabled"><a href="../alphaindex.html">Index</a></span> <span class="navbar item enabled"><a href="../deprecated.html">Deprecated</a></span> <span class="navbar item enabled"><a href="../about.html">About</a></span></div></td></tr></table></body></html>

Anon7 - 2021