|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava_cup.Main
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:
Field Summary | |
protected static parse_action_table |
action_table
Resulting parse action table. |
protected static long |
build_end
Timing data -- when did we end state and table building |
protected static long |
check_end
Timing data -- when did we end checking |
protected static long |
dump_end
Timing data -- when did we end dumping |
protected static long |
emit_end
Timing data -- when did we finish emitting code |
protected static int |
expect_conflicts
User option -- number of conflicts to expect |
protected static long |
final_time
Timing data -- when were we completely done |
protected static long |
first_end
Timing data -- when did we end first set calculation |
protected static boolean |
include_non_terms
User option -- should we include non terminal symbol numbers in the symbol constant class. |
protected static java.io.BufferedInputStream |
input_file
Input file. |
protected static boolean |
lr_values
User option -- should generator generate code for left/right values? |
protected static long |
machine_end
Timing data -- when did we end state machine construction |
protected static boolean |
no_summary
User option -- do not print a summary. |
protected static long |
nullability_end
Timing data -- when did we end nullability calculation |
protected static boolean |
opt_compact_red
User option -- do we compact tables by making most common reduce the default action |
protected static boolean |
opt_do_debug
User option -- do we run produce extra debugging messages |
protected static boolean |
opt_dump_grammar
User option -- do we produce a dump of the grammar |
protected static boolean |
opt_dump_states
User option -- do we produce a dump of the state machine |
protected static boolean |
opt_dump_tables
User option -- do we produce a dump of the parse tables |
protected static boolean |
opt_show_timing
User option -- do we show timing information as a part of the summary |
protected static long |
parse_end
Timing data -- when did we end parsing |
protected static java.io.PrintWriter |
parser_class_file
Output file for the parser class. |
protected static long |
prelim_end
Timing data -- when did we end preliminaries |
protected static boolean |
print_progress
User option -- do we print progress messages. |
protected static long |
reduce_check_end
Timing data -- when did we end checking for non-reduced productions |
protected static parse_reduce_table |
reduce_table
Resulting reduce-goto table. |
protected static lalr_state |
start_state
Start state in the overall state machine. |
protected static long |
start_time
Timing data -- when did we start |
protected static boolean |
suppress_scanner
User option -- should generator suppress references to java_cup.runtime.Scanner for compatibility with old runtimes? |
protected static boolean |
sym_interface
User option -- should symbols be put in a class or an interface? [CSA] |
protected static java.io.PrintWriter |
symbol_class_file
Output file for the symbol constant class. |
protected static long |
table_end
Timing data -- when did we end table construction |
Constructor Summary | |
private |
Main()
Only constructor is private, so we do not allocate any instances of this class. |
Method Summary | |
protected static void |
build_parser()
Build the (internal) parser from the previously parsed specification. |
protected static void |
check_unused()
Check for unused symbols. |
protected static void |
close_files()
Close various files used by the system. |
static void |
dump_grammar()
Produce a human readable dump of the grammar. |
static void |
dump_machine()
Produce a (semi-) human readable dump of the complete viable prefix recognition state machine. |
static void |
dump_tables()
Produce a (semi-) human readable dumps of the parse tables |
protected static void |
emit_parser()
Call the emit routines necessary to write out the generated parser. |
protected static void |
emit_summary(boolean output_produced)
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. |
static void |
main(java.lang.String[] argv)
The main driver for the system. |
protected static void |
open_files()
Open various files used by the system. |
protected static void |
parse_args(java.lang.String[] argv)
Parse command line options and arguments to set various user-option flags and variables. |
protected static void |
parse_grammar_spec()
Parse the grammar specification from standard input. |
protected static java.lang.String |
plural(int val)
Helper routine to optionally return a plural or non-plural ending. |
protected static void |
show_times()
Produce the optional timing summary as part of an overall summary. |
protected static java.lang.String |
timestr(long time_val,
long total_time)
Helper routine to format a decimal based display of seconds and percentage of total time given counts of milliseconds. |
protected static void |
usage(java.lang.String message)
Print a "usage message" that described possible command line options, then exit. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static boolean print_progress
protected static boolean opt_dump_states
protected static boolean opt_dump_tables
protected static boolean opt_dump_grammar
protected static boolean opt_show_timing
protected static boolean opt_do_debug
protected static boolean opt_compact_red
protected static boolean include_non_terms
protected static boolean no_summary
protected static int expect_conflicts
protected static boolean lr_values
protected static boolean sym_interface
protected static boolean suppress_scanner
protected static long start_time
protected static long prelim_end
protected static long parse_end
protected static long check_end
protected static long dump_end
protected static long build_end
protected static long nullability_end
protected static long first_end
protected static long machine_end
protected static long table_end
protected static long reduce_check_end
protected static long emit_end
protected static long final_time
protected static java.io.BufferedInputStream input_file
protected static java.io.PrintWriter parser_class_file
protected static java.io.PrintWriter symbol_class_file
protected static lalr_state start_state
protected static parse_action_table action_table
protected static parse_reduce_table reduce_table
Constructor Detail |
private Main()
Method Detail |
public static void main(java.lang.String[] argv) throws internal_error, java.io.IOException, java.lang.Exception
argv
- an array of strings containing command line arguments.
internal_error
java.io.IOException
java.lang.Exception
protected static void usage(java.lang.String message)
message
- a specific error message to preface the usage message by.protected static void parse_args(java.lang.String[] argv)
argv
- the command line arguments to be parsed.protected static void open_files()
protected static void close_files() throws java.io.IOException
java.io.IOException
protected static void parse_grammar_spec() throws java.lang.Exception
java.lang.Exception
protected static void check_unused()
protected static void build_parser() throws internal_error
internal_error
protected static void emit_parser() throws internal_error
internal_error
protected static java.lang.String plural(int val)
val
- the numerical value determining plurality.protected static void emit_summary(boolean output_produced)
output_produced
- did the system get far enough to generate code.protected static void show_times()
protected static java.lang.String timestr(long time_val, long total_time)
time_val
- the value being formatted (in ms).total_time
- total time percentages are calculated against (in ms).public static void dump_grammar() throws internal_error
internal_error
public static void dump_machine()
public static void dump_tables()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |