summaryrefslogtreecommitdiff
path: root/src/org/noreply/fancydress/directory/parser/DirectoryParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/noreply/fancydress/directory/parser/DirectoryParser.java')
-rw-r--r--src/org/noreply/fancydress/directory/parser/DirectoryParser.java477
1 files changed, 477 insertions, 0 deletions
diff --git a/src/org/noreply/fancydress/directory/parser/DirectoryParser.java b/src/org/noreply/fancydress/directory/parser/DirectoryParser.java
new file mode 100644
index 0000000..2fa66ea
--- /dev/null
+++ b/src/org/noreply/fancydress/directory/parser/DirectoryParser.java
@@ -0,0 +1,477 @@
+
+//----------------------------------------------------
+// The following code was generated by CUP v0.10k
+// Sun Oct 05 01:55:08 CEST 2003
+//----------------------------------------------------
+
+package org.noreply.fancydress.directory.parser;
+
+import java_cup.runtime.*;
+
+/** CUP v0.10k generated parser.
+ * @version Sun Oct 05 01:55:08 CEST 2003
+ */
+public class DirectoryParser extends java_cup.runtime.lr_parser {
+
+ /** Default constructor. */
+ public DirectoryParser() {super();}
+
+ /** Constructor which sets the default scanner. */
+ public DirectoryParser(java_cup.runtime.Scanner s) {super(s);}
+
+ /** Production table. */
+ protected static final short _production_table[][] =
+ unpackFromStrings(new String[] {
+ "\000\026\000\002\002\004\000\002\005\003\000\002\005" +
+ "\004\000\002\004\003\000\002\004\004\000\002\006\007" +
+ "\000\002\003\007\000\002\007\004\000\002\007\002\000" +
+ "\002\010\003\000\002\010\005\000\002\013\003\000\002" +
+ "\013\004\000\002\011\003\000\002\011\003\000\002\011" +
+ "\003\000\002\011\003\000\002\014\003\000\002\014\002" +
+ "\000\002\015\003\000\002\015\003\000\002\015\004" });
+
+ /** Access to production table. */
+ public short[][] production_table() {return _production_table;}
+
+ /** Parse-action table. */
+ protected static final short[][] _action_table =
+ unpackFromStrings(new String[] {
+ "\000\040\000\004\010\005\001\002\000\006\002\042\010" +
+ "\005\001\002\000\004\007\034\001\002\000\010\002\000" +
+ "\007\011\010\000\001\002\000\010\002\ufffe\007\ufffe\010" +
+ "\ufffe\001\002\000\010\002\ufffd\007\ufffd\010\ufffd\001\002" +
+ "\000\004\012\012\001\002\000\004\006\013\001\002\000" +
+ "\016\004\ufff9\005\ufff9\007\021\010\020\011\015\012\022" +
+ "\001\002\000\020\004\ufff8\005\ufff8\006\ufff8\007\021\010" +
+ "\020\011\015\012\022\001\002\000\020\004\ufff1\005\ufff1" +
+ "\006\ufff1\007\ufff1\010\ufff1\011\ufff1\012\ufff1\001\002\000" +
+ "\010\004\uffef\005\uffef\006\030\001\002\000\020\004\ufff6" +
+ "\005\ufff6\006\ufff6\007\ufff6\010\ufff6\011\ufff6\012\ufff6\001" +
+ "\002\000\020\004\ufff2\005\ufff2\006\ufff2\007\ufff2\010\ufff2" +
+ "\011\ufff2\012\ufff2\001\002\000\020\004\ufff4\005\ufff4\006" +
+ "\ufff4\007\ufff4\010\ufff4\011\ufff4\012\ufff4\001\002\000\020" +
+ "\004\ufff3\005\ufff3\006\ufff3\007\ufff3\010\ufff3\011\ufff3\012" +
+ "\ufff3\001\002\000\006\004\025\005\026\001\002\000\010" +
+ "\002\ufffb\007\ufffb\010\ufffb\001\002\000\010\002\uffee\007" +
+ "\uffee\010\uffee\001\002\000\012\002\uffed\004\027\007\uffed" +
+ "\010\uffed\001\002\000\010\002\uffec\007\uffec\010\uffec\001" +
+ "\002\000\016\004\ufff0\005\ufff0\007\021\010\020\011\015" +
+ "\012\022\001\002\000\006\004\ufffa\005\ufffa\001\002\000" +
+ "\020\004\ufff7\005\ufff7\006\ufff7\007\021\010\020\011\015" +
+ "\012\022\001\002\000\020\004\ufff5\005\ufff5\006\ufff5\007" +
+ "\ufff5\010\ufff5\011\ufff5\012\ufff5\001\002\000\004\011\035" +
+ "\001\002\000\010\004\uffef\005\uffef\006\036\001\002\000" +
+ "\006\004\ufff0\005\ufff0\001\002\000\006\004\025\005\026" +
+ "\001\002\000\010\002\ufffc\007\ufffc\010\ufffc\001\002\000" +
+ "\010\002\uffff\007\011\010\uffff\001\002\000\004\002\001" +
+ "\001\002" });
+
+ /** Access to parse-action table. */
+ public short[][] action_table() {return _action_table;}
+
+ /** <code>reduce_goto</code> table. */
+ protected static final short[][] _reduce_table =
+ unpackFromStrings(new String[] {
+ "\000\040\000\010\004\005\005\003\006\006\001\001\000" +
+ "\006\004\040\006\006\001\001\000\002\001\001\000\004" +
+ "\003\007\001\001\000\002\001\001\000\002\001\001\000" +
+ "\002\001\001\000\002\001\001\000\012\007\022\010\015" +
+ "\011\016\013\013\001\001\000\004\011\032\001\001\000" +
+ "\002\001\001\000\004\014\030\001\001\000\002\001\001" +
+ "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
+ "\004\015\023\001\001\000\002\001\001\000\002\001\001" +
+ "\000\002\001\001\000\002\001\001\000\006\011\016\013" +
+ "\031\001\001\000\002\001\001\000\004\011\032\001\001" +
+ "\000\002\001\001\000\002\001\001\000\004\014\036\001" +
+ "\001\000\002\001\001\000\004\015\037\001\001\000\002" +
+ "\001\001\000\004\003\007\001\001\000\002\001\001" });
+
+ /** Access to <code>reduce_goto</code> table. */
+ public short[][] reduce_table() {return _reduce_table;}
+
+ /** Instance of action encapsulation class. */
+ protected CUP$DirectoryParser$actions action_obj;
+
+ /** Action encapsulation object initializer. */
+ protected void init_actions()
+ {
+ action_obj = new CUP$DirectoryParser$actions(this);
+ }
+
+ /** Invoke a user supplied parse action. */
+ public java_cup.runtime.Symbol do_action(
+ int act_num,
+ java_cup.runtime.lr_parser parser,
+ java.util.Stack stack,
+ int top)
+ throws java.lang.Exception
+ {
+ /* call code in generated class */
+ return action_obj.CUP$DirectoryParser$do_action(act_num, parser, stack, top);
+ }
+
+ /** Indicates start state. */
+ public int start_state() {return 0;}
+ /** Indicates start production. */
+ public int start_production() {return 0;}
+
+ /** <code>EOF</code> Symbol index. */
+ public int EOF_sym() {return 0;}
+
+ /** <code>error</code> Symbol index. */
+ public int error_sym() {return 1;}
+
+
+
+ /* FIXME */
+ /* Change the method report_error so it will display the line and
+ column of where the error occurred in the input as well as the
+ reason for the error which is passed into the method in the
+ String 'message'. */
+ public void report_error(String message, Object info) {
+
+ /* Create a StringBuffer called 'm' with the string 'Error' in it. */
+ StringBuffer m = new StringBuffer("Error");
+
+ /* Check if the information passed to the method is the same
+ type as the type java_cup.runtime.Symbol. */
+ if (info instanceof java_cup.runtime.Symbol) {
+ /* Declare a java_cup.runtime.Symbol object 's' with the
+ information in the object info that is being typecasted
+ as a java_cup.runtime.Symbol object. */
+ java_cup.runtime.Symbol s = ((java_cup.runtime.Symbol) info);
+
+ /* Check if the line number in the input is greater or
+ equal to zero. */
+ if (s.left >= 0) {
+ /* Add to the end of the StringBuffer error message
+ the line number of the error in the input. */
+ m.append(" in line "+(s.left+1));
+ /* Check if the column number in the input is greater
+ or equal to zero. */
+ if (s.right >= 0)
+ /* Add to the end of the StringBuffer error message
+ the column number of the error in the input. */
+ m.append(", column "+(s.right+1));
+ }
+ }
+
+ /* Add to the end of the StringBuffer error message created in
+ this method the message that was passed into this method. */
+ m.append(" : "+message);
+
+ /* Print the contents of the StringBuffer 'm', which contains
+ an error message, out on a line. */
+ System.err.println(m);
+ }
+
+ /* Change the method report_fatal_error so when it reports a fatal
+ error it will display the line and column number of where the
+ fatal error occurred in the input as well as the reason for the
+ fatal error which is passed into the method in the object
+ 'message' and then exit.*/
+ public void report_fatal_error(String message, Object info) {
+ report_error(message, info);
+ System.exit(1);
+ }
+
+}
+
+/** Cup generated class to encapsulate user supplied action code.*/
+class CUP$DirectoryParser$actions {
+ private final DirectoryParser parser;
+
+ /** Constructor */
+ CUP$DirectoryParser$actions(DirectoryParser parser) {
+ this.parser = parser;
+ }
+
+ /** Method with the actual generated action code. */
+ public final java_cup.runtime.Symbol CUP$DirectoryParser$do_action(
+ int CUP$DirectoryParser$act_num,
+ java_cup.runtime.lr_parser CUP$DirectoryParser$parser,
+ java.util.Stack CUP$DirectoryParser$stack,
+ int CUP$DirectoryParser$top)
+ throws java.lang.Exception
+ {
+ /* Symbol object for return from actions */
+ java_cup.runtime.Symbol CUP$DirectoryParser$result;
+
+ /* select the action based on the action number */
+ switch (CUP$DirectoryParser$act_num)
+ {
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 21: // EndOfLine ::= CR NL
+ {
+ String RESULT = null;
+
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(11/*EndOfLine*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 20: // EndOfLine ::= CR
+ {
+ String RESULT = null;
+
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(11/*EndOfLine*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 19: // EndOfLine ::= NL
+ {
+ String RESULT = null;
+
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(11/*EndOfLine*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 18: // OptSpace ::=
+ {
+ String RESULT = null;
+
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(10/*OptSpace*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 17: // OptSpace ::= SPACE
+ {
+ String RESULT = null;
+
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(10/*OptSpace*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 16: // NonSpaceValueChar ::= RIGHT_BRACKET
+ {
+ String RESULT = null;
+ int cleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int cright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ String c = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ RESULT = c;
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(7/*NonSpaceValueChar*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 15: // NonSpaceValueChar ::= LEFT_BRACKET
+ {
+ String RESULT = null;
+ int cleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int cright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ String c = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ RESULT = c;
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(7/*NonSpaceValueChar*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 14: // NonSpaceValueChar ::= COLON
+ {
+ String RESULT = null;
+ int cleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int cright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ String c = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ RESULT = c;
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(7/*NonSpaceValueChar*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 13: // NonSpaceValueChar ::= IDENTIFIER
+ {
+ String RESULT = null;
+ int cleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int cright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ String c = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ RESULT = c;
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(7/*NonSpaceValueChar*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 12: // NonSpaceValue ::= NonSpaceValue NonSpaceValueChar
+ {
+ String RESULT = null;
+ int vleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left;
+ int vright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).right;
+ String v = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).value;
+ int cleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int cright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ String c = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ RESULT = new String(v+c);
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(9/*NonSpaceValue*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 11: // NonSpaceValue ::= NonSpaceValueChar
+ {
+ String RESULT = null;
+ int cleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int cright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ String c = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ RESULT = c;
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(9/*NonSpaceValue*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 10: // Value ::= Value SPACE NonSpaceValue
+ {
+ String RESULT = null;
+ int v1left = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-2)).left;
+ int v1right = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-2)).right;
+ String v1 = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-2)).value;
+ int cleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left;
+ int cright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).right;
+ String c = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).value;
+ int v2left = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int v2right = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ String v2 = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ RESULT = new String(v1+c+v2);
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(6/*Value*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 9: // Value ::= NonSpaceValue
+ {
+ String RESULT = null;
+ int vleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int vright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ String v = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ RESULT = v;
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(6/*Value*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 8: // OptValue ::=
+ {
+ String RESULT = null;
+ RESULT = new String("");
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(5/*OptValue*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 7: // OptValue ::= Value OptSpace
+ {
+ String RESULT = null;
+ int vleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left;
+ int vright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).right;
+ String v = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).value;
+ RESULT = v;
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(5/*OptValue*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 6: // Entry ::= IDENTIFIER COLON SPACE OptValue EndOfLine
+ {
+ DirectoryEntry RESULT = null;
+ int ileft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-4)).left;
+ int iright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-4)).right;
+ String i = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-4)).value;
+ int vleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left;
+ int vright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).right;
+ String v = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).value;
+ RESULT = new DirectoryEntry(i, v.trim());
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(1/*Entry*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 5: // Header ::= LEFT_BRACKET IDENTIFIER RIGHT_BRACKET OptSpace EndOfLine
+ {
+ String RESULT = null;
+ int ileft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-3)).left;
+ int iright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-3)).right;
+ String i = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-3)).value;
+ RESULT = i;
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(4/*Header*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-4)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 4: // Section ::= Section Entry
+ {
+ DirectorySection RESULT = null;
+ int sleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left;
+ int sright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).right;
+ DirectorySection s = (DirectorySection)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).value;
+ int eleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int eright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ DirectoryEntry e = (DirectoryEntry)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ s.addEntry(e); RESULT = s;
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(2/*Section*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 3: // Section ::= Header
+ {
+ DirectorySection RESULT = null;
+ int hleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int hright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ String h = (String)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ RESULT = new DirectorySection(h);
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(2/*Section*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 2: // Message ::= Message Section
+ {
+ DirectoryMessage RESULT = null;
+ int mleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left;
+ int mright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).right;
+ DirectoryMessage m = (DirectoryMessage)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).value;
+ int sleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int sright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ DirectorySection s = (DirectorySection)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ m.addSection(s); RESULT = m;
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(3/*Message*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 1: // Message ::= Section
+ {
+ DirectoryMessage RESULT = null;
+ int sleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left;
+ int sright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right;
+ DirectorySection s = (DirectorySection)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).value;
+ RESULT = new DirectoryMessage(s);
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(3/*Message*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ return CUP$DirectoryParser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 0: // $START ::= Message EOF
+ {
+ Object RESULT = null;
+ int start_valleft = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left;
+ int start_valright = ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).right;
+ DirectoryMessage start_val = (DirectoryMessage)((java_cup.runtime.Symbol) CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).value;
+ RESULT = start_val;
+ CUP$DirectoryParser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$DirectoryParser$stack.elementAt(CUP$DirectoryParser$top-0)).right, RESULT);
+ }
+ /* ACCEPT */
+ CUP$DirectoryParser$parser.done_parsing();
+ return CUP$DirectoryParser$result;
+
+ /* . . . . . .*/
+ default:
+ throw new Exception(
+ "Invalid action number found in internal parse table");
+
+ }
+ }
+}
+