diff options
Diffstat (limited to 'src/org/noreply/fancydress/directory/parser/DirectoryParser.java')
-rw-r--r-- | src/org/noreply/fancydress/directory/parser/DirectoryParser.java | 477 |
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"); + + } + } +} + |