📄 dtdparser.java
字号:
//----------------------------------------------------// The following code was generated by CUP v0.10j// Tue Jul 02 15:26:19 EDT 2002//----------------------------------------------------package org.ephman.xml.dtd;import java_cup.runtime.*;import java.util.Vector;import java.util.HashMap;import java.io.Reader;/** CUP v0.10j generated parser. * @version Tue Jul 02 15:26:19 EDT 2002 */public class DtdParser extends java_cup.runtime.lr_parser { /** Default constructor. */ public DtdParser() {super();} /** Constructor which sets the default scanner. */ public DtdParser(java_cup.runtime.Scanner s) {super(s);} /** Production table. */ protected static final short _production_table[][] = unpackFromStrings(new String[] { "\000\024\000\002\002\004\000\002\003\003\000\002\014" + "\004\000\002\014\003\000\002\012\003\000\002\012\003" + "\000\002\011\011\000\002\010\010\000\002\010\006\000" + "\002\010\006\000\002\010\010\000\002\013\005\000\002" + "\013\005\000\002\013\003\000\002\015\005\000\002\015" + "\003\000\002\005\003\000\002\005\003\000\002\007\003" + "\000\002\006\003" }); /** Access to production table. */ public short[][] production_table() {return _production_table;} /** Parse-action table. */ protected static final short[][] _action_table = unpackFromStrings(new String[] { "\000\050\000\006\026\012\027\004\001\002\000\006\011" + "\015\013\013\001\002\000\010\002\ufffd\026\ufffd\027\ufffd" + "\001\002\000\004\002\043\001\002\000\010\002\ufffe\026" + "\ufffe\027\ufffe\001\002\000\010\002\000\026\012\027\004" + "\001\002\000\010\002\ufffc\026\ufffc\027\ufffc\001\002\000" + "\006\011\015\013\013\001\002\000\020\014\ufff0\015\ufff0" + "\016\ufff0\017\ufff0\020\ufff0\021\ufff0\025\ufff0\001\002\000" + "\010\015\016\016\017\017\020\001\002\000\020\014\ufff1" + "\015\ufff1\016\ufff1\017\ufff1\020\ufff1\021\ufff1\025\ufff1\001" + "\002\000\004\005\041\001\002\000\004\005\040\001\002" + "\000\012\011\015\013\013\017\025\022\024\001\002\000" + "\010\014\ufff2\020\ufff2\021\ufff2\001\002\000\010\014\ufff4" + "\020\ufff4\021\ufff4\001\002\000\010\014\030\020\036\021" + "\027\001\002\000\004\020\034\001\002\000\010\011\015" + "\013\013\017\025\001\002\000\010\014\030\020\031\021" + "\027\001\002\000\010\011\015\013\013\017\025\001\002" + "\000\010\011\015\013\013\017\025\001\002\000\010\014" + "\ufff3\020\ufff3\021\ufff3\001\002\000\010\014\ufff5\020\ufff5" + "\021\ufff5\001\002\000\010\014\ufff6\020\ufff6\021\ufff6\001" + "\002\000\004\005\035\001\002\000\010\002\ufffa\026\ufffa" + "\027\ufffa\001\002\000\004\005\037\001\002\000\010\002" + "\ufff7\026\ufff7\027\ufff7\001\002\000\010\002\ufff8\026\ufff8" + "\027\ufff8\001\002\000\010\002\ufff9\026\ufff9\027\ufff9\001" + "\002\000\010\002\uffff\026\uffff\027\uffff\001\002\000\004" + "\002\001\001\002\000\004\025\045\001\002\000\004\023" + "\046\001\002\000\004\024\047\001\002\000\004\010\051" + "\001\002\000\004\005\052\001\002\000\004\005\uffee\001" + "\002\000\010\002\ufffb\026\ufffb\027\ufffb\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\050\000\014\003\005\010\010\011\004\012\006\014" + "\007\001\001\000\004\005\043\001\001\000\002\001\001" + "\000\002\001\001\000\002\001\001\000\010\010\010\011" + "\004\012\041\001\001\000\002\001\001\000\004\005\013" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\010\005\020" + "\013\022\015\021\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\010\005\020" + "\013\025\015\021\001\001\000\002\001\001\000\006\005" + "\020\015\032\001\001\000\006\005\020\015\031\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001\000\004\006\047\001\001\000\002\001" + "\001\000\002\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$DtdParser$actions action_obj; /** Action encapsulation object initializer. */ protected void init_actions() { action_obj = new CUP$DtdParser$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$DtdParser$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;} public DtdParser (Reader r) { this (new Yylex (r)); } public Dtd parseDtd () throws Exception { Symbol s = this.parse (); Dtd result = (Dtd)s.value; ((Yylex)getScanner()).close (); return result; }}/** Cup generated class to encapsulate user supplied action code.*/class CUP$DtdParser$actions { public void parseError (String str, Object o, int line) throws Exception { Exception e = new DtdException (str, line);// e.printStackTrace (); parser.done_parsing (); //report_fatal_error (str + " line=" + line, o); throw e; } private final DtdParser parser; /** Constructor */ CUP$DtdParser$actions(DtdParser parser) { this.parser = parser; } /** Method with the actual generated action code. */ public final java_cup.runtime.Symbol CUP$DtdParser$do_action( int CUP$DtdParser$act_num, java_cup.runtime.lr_parser CUP$DtdParser$parser, java.util.Stack CUP$DtdParser$stack, int CUP$DtdParser$top) throws java.lang.Exception { /* Symbol object for return from actions */ java_cup.runtime.Symbol CUP$DtdParser$result; /* select the action based on the action number */ switch (CUP$DtdParser$act_num) { /*. . . . . . . . . . . . . . . . . . . .*/ case 19: // quoted_name ::= QUOTED_NAME { String RESULT = null; int nleft = ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).left; int nright = ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).right; Object n = (Object)((java_cup.runtime.Symbol) CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).value; RESULT = (String)n; CUP$DtdParser$result = new java_cup.runtime.Symbol(4/*quoted_name*/, ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).right, RESULT); } return CUP$DtdParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 18: // text ::= TEXT { String RESULT = null; int nleft = ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).left; int nright = ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).right; Object n = (Object)((java_cup.runtime.Symbol) CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).value; RESULT = (String)n; CUP$DtdParser$result = new java_cup.runtime.Symbol(5/*text*/, ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).right, RESULT); } return CUP$DtdParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 17: // name ::= NAME_SYMBOL { String RESULT = null; int nsleft = ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).left; int nsright = ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).right; Object ns = (Object)((java_cup.runtime.Symbol) CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).value; RESULT = (String)ns; CUP$DtdParser$result = new java_cup.runtime.Symbol(3/*name*/, ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).right, RESULT); } return CUP$DtdParser$result; /*. . . . . . . . . . . . . . . . . . . .*/ case 16: // name ::= NAME { String RESULT = null; int nleft = ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).left; int nright = ((java_cup.runtime.Symbol)CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).right; Object n = (Object)((java_cup.runtime.Symbol) CUP$DtdParser$stack.elementAt(CUP$DtdParser$top-0)).value; RESULT = (String)n;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -