Home | History | Annotate | Download | only in java_cup

Lines Matching refs:out

38  *           production.  This reveals a prior state, which we transition out
225 * @param out stream to produce output on.
227 protected static void emit_package(PrintStream out)
231 out.println("package " + package_name + ";\n");
239 * @param out stream to produce output on.
242 public static void symbols(PrintStream out, boolean emit_non_terms)
250 out.println();
251 out.println("//----------------------------------------------------");
252 out.println("// The following code was generated by " +
254 out.println("// " + new Date());
255 out.println("//----------------------------------------------------");
256 out.println();
257 emit_package(out);
260 out.println(
262 out.println("public class " + symbol_const_class_name + " {");
264 out.println(" /* terminals */");
272 out.println(" static final int " + term.name() + " = " +
279 out.println("\n /* non terminals */");
287 out.println(" static final int " + nt.name() + " = " +
293 out.println("};\n");
301 * @param out stream to produce output on.
304 protected static void emit_action_code(PrintStream out, production start_prod)
312 out.println();
313 out.println(
316 out.println("class " + pre("actions") + " {");
321 out.println();
322 out.println(action_code);
326 out.println();
327 out.println(" /** Constructor */");
328 out.println(" " + pre("actions") + "() { }");
331 out.println();
332 out.println(" /** Method with the actual generated action code. */");
333 out.println(" public final java_cup.runtime.symbol " +
335 out.println(" int " + pre("act_num,"));
336 out.println(" java_cup.runtime.lr_parser " + pre("parser,"));
337 out.println(" java.util.Stack " + pre("stack,"));
338 out.println(" int " + pre("top)"));
339 out.println(" throws java.lang.Exception");
340 out.println(" {");
343 out.println(" /* object for return from actions */");
344 out.println(" java_cup.runtime.symbol " + pre("result") + ";");
345 out.println();
348 out.println(" /* select the action based on the action number */");
349 out.println(" switch (" + pre("act_num") + ")");
350 out.println(" {");
358 out.println(" /*. . . . . . . . . . . . . . . . . . . .*/");
359 out.println(" case " + prod.index() + ": // " +
363 out.println(" {");
367 out.println(" " +debug_grammar+ "(\"" +
371 out.println(" " + pre("result") + " = new " +
379 out.println(" " + prod.action().code_string());
382 out.println(" }");
387 out.println(" /* ACCEPT */");
388 out.println(" " + pre("parser") + ".done_parsing();");
392 out.println(" return " + pre("result") + ";");
393 out.println();
397 out.println(" /* . . . . . .*/");
398 out.println(" default:");
399 out.println(" throw new Exception(");
400 out.println(" \"Invalid action number found in " +
402 out.println();
403 out.println(" }");
406 out.println(" }");
409 out.println("};\n");
417 * @param out stream to produce output on.
419 protected static void emit_production_table(PrintStream out)
427 out.println();
428 out.println(" /** production table */");
429 out.println(" protected static final short _production_table[][] = {");
440 out.print(" ");
446 out.print(" {");
447 out.print(/* lhs symbol # */ prod.lhs().the_symbol().index() + ", ");
448 out.print(/* rhs size */ prod.rhs_length() + "}");
451 if (i < production.number()-1) out.print(", ");
456 out.println();
457 out.print(" ");
462 out.println(" };");
465 out.println();
466 out.println(" /** access to production table */");
467 out.println(" public short[][] production_table() " +
476 * @param out stream to produce output on.
481 PrintStream out,
492 out.println();
493 out.println(" /** parse action table */");
494 out.println(" protected static final short[][] _action_table = {");
508 out.print(" /*" + i + "*/{");
516 /* skip error entries these are all defaulted out */
524 out.print(j + "," +
531 /* if its the default entry let it get defaulted out */
534 out.print(j + "," + (-(red+1)) + ",");
546 out.println("-1," + (-(row.default_reduce+1)) + "},");
548 out.println("-1,0},");
552 out.println(" };");
555 out.println();
556 out.println(" /** access to parse action table */");
557 out.println(" public short[][] action_table() {return _action_table;}");
565 * @param out stream to produce output on.
569 PrintStream out,
577 out.println();
578 out.println(" /** reduce_goto table */");
579 out.println(" protected static final short[][] _reduce_table = {");
584 out.print(" /*" + i + "*/{");
596 out.print(j + "," + goto_st.index() + ",");
601 out.println("-1,-1},");
605 out.println(" };");
608 out.println();
609 out.println(" /** access to reduce_goto table */");
610 out.println(" public short[][] reduce_table() {return _reduce_table;}");
611 out.println();
619 * @param out stream to produce output on.
627 PrintStream out,
638 out.println();
639 out.println("//----------------------------------------------------");
640 out.println("// The following code was generated by " +
642 out.println("// " + new Date());
643 out.println("//----------------------------------------------------");
644 out.println();
645 emit_package(out);
649 out.println("import " + import_list.elementAt(i) + ";");
652 out.println();
653 out.println("public class " + parser_class_name +
657 out.println();
658 out.println(" /** constructor */");
659 out.println(" public " + parser_class_name + "() {super();}");
662 emit_production_table(out);
663 do_action_table(out, action_table, compact_reduces);
664 do_reduce_table(out, reduce_table);
667 out.println(" /** instance of action encapsulation class */");
668 out.println(" protected " + pre("actions") + " action_obj;");
669 out.println();
672 out.println(" /** action encapsulation object initializer */");
673 out.println(" protected void init_actions()");
674 out.println(" {");
675 out.println(" action_obj = new " + pre("actions") + "();");
676 out.println(" }");
677 out.println();
680 out.println(" /** invoke a user supplied parse action */");
681 out.println(" public java_cup.runtime.symbol do_action(");
682 out.println(" int act_num,");
683 out.println(" java_cup.runtime.lr_parser parser,");
684 out.println(" java.util.Stack stack,");
685 out.println(" int top)");
686 out.println(" throws java.lang.Exception");
687 out.println(" {");
688 out.println(" /* call code in generated class */");
689 out.println(" return action_obj." + pre("do_action(") +
691 out.println(" }");
692 out.println("");
696 out.println(" /** start state */");
697 out.println(" public int start_state() {return " + start_st + ";}");
700 out.println(" /** start production */");
701 out.println(" public int start_production() {return " +
703 out.println();
706 out.println(" /** EOF symbol index */");
707 out.println(" public int EOF_sym() {return " + terminal.EOF.index() +
709 out.println();
710 out.println(" /** error symbol index */");
711 out.println(" public int error_sym() {return " + terminal.error.index() +
713 out.println();
718 out.println();
719 out.println(" /** user initialization */");
720 out.println(" public void user_init() throws java.lang.Exception");
721 out.println(" {");
722 out.println(init_code);
723 out.println(" }");
729 out.println();
730 out.println(" /** scan to get the next token */");
731 out.println(" public java_cup.runtime.token scan()");
732 out.println(" throws java.lang.Exception");
733 out.println(" {");
734 out.println(scan_code);
735 out.println(" }");
741 out.println();
742 out.println(parser_code);
746 out.println("};");
748 /* put out the action code class */
749 emit_action_code(out, start_prod);