亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? xqparser.java

?? A framework written in Java for implementing high-level and dynamic languages, compiling them into J
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
        Expression dot;	if (dotDecl == null)	  dot = syntaxError("context item is undefined", "XPDY0002");        else          dot = new ReferenceExp(DOT_VARNAME, dotDecl);	step1 = new ApplyExp(ClassType.make("gnu.xquery.util.NodeUtils")			     .getDeclaredMethod("rootDocument", 1),			     new Expression[] { dot } );	int next = skipSpace(nesting != 0);        unread(next);        if (next < 0 || next == ')' || next == '}')          {	    getRawToken();            return step1;          }      }    else      step1 = parseStepExpr();    return parseRelativePathExpr(step1);  }  /** Returns an expression that evaluates to a Symbol.   * The expression will normally be constant   * folded to a Symbol, but we cannot do that yet. */  Expression parseNameTest (boolean attribute)      throws java.io.IOException, SyntaxException  {    String local = null, prefix = null;    if (curToken == QNAME_TOKEN)      {	int colon = tokenBufferLength;	while (tokenBuffer[--colon] != ':') ;	prefix = new String(tokenBuffer, 0, colon);	colon++;	local = new String(tokenBuffer, colon,			   tokenBufferLength - colon);      }    else if (curToken == OP_MUL)      { 	int next = read();        local = ElementType.MATCH_ANY_LOCALNAME;	if (next != ':')	  unread(next);	else	  {	    next = read();	    if (next < 0)	      eofError("unexpected end-of-file after '*:'");	    if (XName.isNameStart((char) next))	      {		unread();		getRawToken();		if (curToken != NCNAME_TOKEN)		  syntaxError("invalid name test");		else		  local = new String(tokenBuffer, 0, tokenBufferLength)                    .intern();	      }	    else if (next != '*')	      syntaxError("missing local-name after '*:'");	  }        return QuoteExp.getInstance(new Symbol(null, local));      }    else if (curToken == NCNAME_TOKEN)      {	local = new String(tokenBuffer, 0, tokenBufferLength);        if (attribute)          return new QuoteExp(Namespace.EmptyNamespace.getSymbol(local.intern()));        prefix = null;      }    else if (curToken == NCNAME_COLON_TOKEN)      {	prefix = new String(tokenBuffer, 0, tokenBufferLength);	int next = read();	if (next != '*')	  syntaxError("invalid characters after 'NCName:'");	local = ElementType.MATCH_ANY_LOCALNAME;      }    if (prefix != null)      prefix = prefix.intern();    Expression[] args = new Expression[3];    args[0] = new ApplyExp(new ReferenceExp(XQResolveNames.resolvePrefixDecl),                           new Expression[] { QuoteExp.getInstance(prefix) });    args[1] = new QuoteExp(local == null ? "" : local);    args[2] = new QuoteExp(prefix);    ApplyExp make = new ApplyExp(Compilation.typeSymbol                                 .getDeclaredMethod("make", 3),                                 args);    make.setFlag(ApplyExp.INLINE_IF_CONSTANT);    return make;  }  Expression parseNodeTest(int axis)      throws java.io.IOException, SyntaxException  {    int token = peekOperand();    Expression[] args = new Expression[1];    Expression etype = parseMaybeKindTest();    if (etype != null)      {		args[0] = etype;      }    else if (curToken == NCNAME_TOKEN || curToken == QNAME_TOKEN 	     || curToken == NCNAME_COLON_TOKEN || curToken == OP_MUL)      {        args[0] = makeNamedNodeType(axis == AXIS_ATTRIBUTE,                                    parseNameTest(axis == AXIS_ATTRIBUTE) );      }    else if (axis >= 0)      return syntaxError("unsupported axis '"+axisNames[axis]+"::'");    else      return null;    Declaration dotDecl = lexical.lookup(DOT_VARNAME, false);    Expression dot;    if (dotDecl == null)      dot = syntaxError("node test when context item is undefined", "XPDY0002");    else      dot = new ReferenceExp(DOT_VARNAME, dotDecl);    if (etype == null)      getRawToken();    Expression makeAxisStep;    if (axis == AXIS_CHILD || axis == -1)      makeAxisStep = makeChildAxisStep;    else if (axis == AXIS_DESCENDANT)      makeAxisStep = makeDescendantAxisStep;    else      {        String axisName;        switch (axis)          {          case AXIS_DESCENDANT_OR_SELF: axisName = "DescendantOrSelf"; break;          case AXIS_SELF:               axisName = "Self";             break;          case AXIS_PARENT:             axisName = "Parent";           break;          case AXIS_ANCESTOR:           axisName = "Ancestor";         break;          case AXIS_ANCESTOR_OR_SELF:   axisName = "AncestorOrSelf";   break;          case AXIS_FOLLOWING:          axisName = "Following";        break;          case AXIS_FOLLOWING_SIBLING:  axisName = "FollowingSibling"; break;          case AXIS_PRECEDING:          axisName = "Preceding";        break;          case AXIS_PRECEDING_SIBLING:  axisName = "PrecedingSibling"; break;          case AXIS_ATTRIBUTE:          axisName = "Attribute";        break;          default: throw new Error();          }        makeAxisStep          = QuoteExp.getInstance(new PrimProcedure                                 ("gnu.kawa.xml."+axisName+"Axis",                                  "make", 1));      }    ApplyExp mkAxis = new ApplyExp(makeAxisStep, args);    mkAxis.setFlag(ApplyExp.INLINE_IF_CONSTANT);    return new ApplyExp(mkAxis, new Expression[] { dot });  }  public static QuoteExp makeChildAxisStep  = QuoteExp.getInstance(new PrimProcedure("gnu.kawa.xml.ChildAxis", "make", 1));  public static QuoteExp makeDescendantAxisStep  = QuoteExp.getInstance(new PrimProcedure("gnu.kawa.xml.DescendantAxis", "make", 1));  Expression parseRelativePathExpr(Expression exp)      throws java.io.IOException, SyntaxException  {    // If the previous operator was '//', then the corresponding E1.    Expression beforeSlashSlash = null;    while (curToken == '/' || curToken == SLASHSLASH_TOKEN)      {	boolean descendants = curToken == SLASHSLASH_TOKEN;	LambdaExp lexp = new LambdaExp(3);	Declaration dotDecl = lexp.addDeclaration(DOT_VARNAME);	dotDecl.setFlag(Declaration.IS_SINGLE_VALUE);        dotDecl.setType(NodeType.anyNodeTest);	dotDecl.noteValue (null);  // Does not have a known value.	lexp.addDeclaration(POSITION_VARNAME, LangPrimType.intType);	lexp.addDeclaration(LAST_VARNAME, LangPrimType.intType);	comp.push(lexp);	if (descendants)	  {	    curToken = '/';	    Expression dot = new ReferenceExp(DOT_VARNAME, dotDecl);	    Expression[] args = { dot };	    TreeScanner op = DescendantOrSelfAxis.anyNode;	    lexp.body = new ApplyExp(op, args);            beforeSlashSlash = exp;	  }	else	  {	    getRawToken();            Expression exp2 = parseStepExpr();            // Optimize: 'E1//child::TEST' to 'E1/descendant::TEST'            Expression func;            ApplyExp aexp;            if (beforeSlashSlash != null                && exp2 instanceof ApplyExp                && (func = ((ApplyExp) exp2).getFunction()) instanceof ApplyExp                && (aexp = (ApplyExp) func).getFunction() == makeChildAxisStep)              {                aexp.setFunction(makeDescendantAxisStep);                exp = beforeSlashSlash;              }            lexp.body = exp2;            beforeSlashSlash = null;	  }	comp.pop(lexp);	/*	if (lexp.body instanceof ApplyExp)	  {	    // Optimize the case of a simple name step.	    ApplyExp aexp = (ApplyExp) lexp.body;	    Expression func = aexp.getFunction();	    Expression[] args = aexp.getArgs();	    if (false		&& func == funcNamedChildren && args.length==2		&& args[0] instanceof ReferenceExp		&& ((ReferenceExp) args[0]).getBinding() == decl)	      {		args[0] = exp;		if (descendants)		  func = funcNamedDescendants;		exp = new ApplyExp (func, args);		handled = true;	      }	    else if (func == funcForwardFilter && args.length==2		     && args[0] instanceof ApplyExp		     && descendants)	      {		ApplyExp xapp = (ApplyExp) args[0];		Expression[] xargs = xapp.getArgs();		if (xapp.getFunction() == funcNamedChildren		    && xargs.length == 2		    && ((ReferenceExp) xargs[0]).getBinding() == decl)		  {		    xapp.setFunction(funcNamedDescendants);		  }	      }	  }	*/	Expression[] args = new Expression[] { exp, lexp };	exp = new ApplyExp(RelativeStep.relativeStep, args);      }    return exp;  }  Expression parseStepExpr()      throws java.io.IOException, SyntaxException  {    int axis;    if (curToken == '.' || curToken == DOTDOT_TOKEN)      {	axis = curToken == '.' ? AXIS_SELF : AXIS_PARENT;	getRawToken();	Declaration dotDecl = lexical.lookup(DOT_VARNAME, false);        Expression exp;	if (dotDecl == null)	  exp = syntaxError("context item is undefined", "XPDY0002");	else          exp = new ReferenceExp(DOT_VARNAME, dotDecl);	if (axis == AXIS_PARENT)	  {	    Expression[] args = { exp };	    exp = new ApplyExp(ParentAxis.make(NodeType.anyNodeTest), args);	  }        // Note that '..' is an AbbrevReverseStep,        // but '.' is a FilterExpr - and hence not a valid ForwardStep.	return parseStepQualifiers(exp, axis == AXIS_SELF ? -1 : axis);      }    axis = peekOperand() - OP_AXIS_FIRST;    Expression unqualifiedStep;    if (axis >= 0 && axis < COUNT_OP_AXIS)      {	getRawToken();	unqualifiedStep = parseNodeTest(axis);      }    else if (curToken == '@')      {	getRawToken();	axis = AXIS_ATTRIBUTE;	unqualifiedStep = parseNodeTest(axis);      }    else if (curToken == OP_ATTRIBUTE)      {	axis = AXIS_ATTRIBUTE;	unqualifiedStep = parseNodeTest(axis);      }    else      {	unqualifiedStep = parseNodeTest(-1);        if (unqualifiedStep != null)          {            axis = AXIS_CHILD;          }        else          {            axis = -1;            unqualifiedStep = parsePrimaryExpr();          }      }    return parseStepQualifiers(unqualifiedStep, axis);  }  Expression parseStepQualifiers(Expression exp, int axis)    throws java.io.IOException, SyntaxException  {    for (;;)      {	if (curToken == '[')	  {	    int startLine = getLineNumber() + 1;	    int startColumn = getColumnNumber() + 1;	    int saveSeenPosition = seenPosition;	    int saveSawLast = seenLast;	    getRawToken();	    LambdaExp lexp = new LambdaExp(3);            maybeSetLine(lexp, startLine, startColumn);	    Declaration dot = lexp.addDeclaration(DOT_VARNAME);            if (axis >= 0)              dot.setType(NodeType.anyNodeTest);            else              dot.setType(SingletonType.getInstance());	    lexp.addDeclaration(POSITION_VARNAME, Type.int_type);	    lexp.addDeclaration(LAST_VARNAME, Type.int_type);	    comp.push(lexp);	    dot.noteValue(null);	    Expression cond = parseExprSequence(']', false);            if (curToken == EOF_TOKEN)              eofError("missing ']' - unexpected end-of-file");	    char kind;	    Procedure valuesFilter;	    if (axis < 0)	      {		kind = 'P';		valuesFilter = ValuesFilter.exprFilter;	      }	    else if (axis == AXIS_ANCESTOR || axis == AXIS_ANCESTOR_OR_SELF		     || axis == AXIS_PARENT || axis == AXIS_PRECEDING		     || axis == AXIS_PRECEDING_SIBLING)	      {		kind = 'R';		valuesFilter = ValuesFilter.reverseFilter;	      }	    else	      {		kind = 'F';		valuesFilter = ValuesFilter.forwardFilter;	      }	    /*)	    boolean sawPosition = seenPosition > saveSeenPosition;	    boolean sawLast = seenLast > saveSeenLast;	    */	    maybeSetLine(cond, startLine, startColumn);	    comp.pop(lexp);	    lexp.body = cond;	    getRawToken();	    Expression[] args = { exp, lexp };	    exp = new ApplyExp(valuesFilter, args);	  }	/*	else if (curToken == ARROW_TOKEN)	  ...;	*/	else	  {	    return exp;	  }      }  }  /**   * Parse a PrimaryExpr.   * @return an Expression.   */  Expression parsePrimaryExpr()      throws java.io.IOException, SyntaxException  {    Expression exp = parseMaybePrimaryExpr();    if (exp == null)      {	exp = syntaxError("missing expression");	if (curToken != EOF_TOKEN)	  getRawToken();	return exp;      }    return exp;  }  void parseEntityOrCharRef ()      throws java.io.IOException, SyntaxException  {    int next = read();    if (next == '#')      {	int base;	next = read();	if (next == 'x')	  {	    base = 16;	    next = read();	  }	else	  base = 10;	int value = 0;	while (next >= 0)	  {	    char ch = (char) next;	    int digit = Character.digit((char) ch, base);	    if (digit < 0)	      break;	    if (value >= 0x8000000)	      break; // Overflow likely.	    value = value * base;	    value += digit;	    next = read();	  }	if (next != ';')	  {	    unread();	    error("invalid character reference");	  }        // See definition of 'Char' in XML 1.1 2nd ed Specification.	else if ((value > 0 && value <= 0xD7FF)                 || (value >= 0xE000 && value <= 0xFFFD)                 || (value >= 0x10000 && value <= 0x10FFFF))          tokenBufferAppend(value);        else          error('e', "invalid character value "+value, "XQST0090");      }    else      {	int saveLength = tokenBufferLength;	while (next >= 0)	  {	    char ch = (char) next;	    if (! XName.isNamePart(ch))	      break;	    tokenBufferAppend(ch);	    next = read();	  }	if (next != ';')	  {	    unread();	    error("invalid entity reference");	    return;	  }	String ref = new String(tokenBuffer, saveLength,				tokenBufferLength - saveLength);	tokenBufferLength = saveLength;	appendNamedEntity(ref);      }  }  /** C

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆精品视频在线观看| 亚洲欧洲国产日韩| 国产精品三级av| 一区二区在线观看视频在线观看| 亚洲成人777| 国产美女精品一区二区三区| 91香蕉视频污在线| 欧美一级夜夜爽| 国产精品欧美精品| 亚洲图片自拍偷拍| 国产精品一线二线三线| 97成人超碰视| 日韩午夜在线影院| 国产精品大尺度| 日韩国产精品91| www.欧美精品一二区| 欧美日韩aaaaa| 欧美国产国产综合| 天天操天天色综合| 成人黄色在线网站| 欧美一级片在线看| 亚洲色图视频网站| 久久精品国产免费看久久精品| www.99精品| 精品日韩一区二区三区免费视频| 亚洲精品国产成人久久av盗摄| 蜜桃免费网站一区二区三区| 99国内精品久久| 精品少妇一区二区三区视频免付费 | 日本一区二区三区四区| 亚洲成在人线免费| 成人av高清在线| 日韩一级片网站| 亚洲一区二区三区中文字幕| 国产麻豆视频精品| 51精品秘密在线观看| 亚洲免费视频成人| 国产激情一区二区三区| 欧美美女激情18p| 亚洲品质自拍视频网站| 国产99久久久国产精品潘金| 久久精品欧美一区二区三区麻豆| 日韩有码一区二区三区| 91片在线免费观看| 国产日韩精品久久久| 日本系列欧美系列| 91黄色免费版| 亚洲色图在线播放| 国产精品69久久久久水密桃 | 亚洲大片精品永久免费| 成人黄色777网| 久久久久久久综合日本| 亚洲成人激情综合网| 成人激情视频网站| 精品国产凹凸成av人网站| 午夜激情一区二区| 91黄色小视频| 亚洲免费视频成人| 99久久久久久99| 国产精品国产馆在线真实露脸| 国产一区二区调教| 日韩免费成人网| 美国十次综合导航| 91精品国产综合久久久久久漫画| 亚洲一区二区中文在线| 在线免费精品视频| 亚洲乱码国产乱码精品精的特点| 成人动漫一区二区三区| 中文字幕av一区二区三区免费看 | 日本一区二区三区国色天香| 国产一区二区三区香蕉| 精品久久五月天| 精品亚洲欧美一区| 久久影院电视剧免费观看| 美国av一区二区| 欧美成人艳星乳罩| 精品一区二区三区免费视频| 欧美va日韩va| 国产精品一区二区无线| 久久久久久久久久电影| 国产剧情一区在线| 国产人成一区二区三区影院| 成人午夜视频网站| 中文字幕亚洲综合久久菠萝蜜| 99视频一区二区| 亚洲人123区| 欧美色中文字幕| 日韩精品一区第一页| 日韩三级中文字幕| 精品亚洲国内自在自线福利| 国产欧美一区二区三区在线老狼| 丁香五精品蜜臀久久久久99网站| 国产精品成人免费| 欧美亚洲愉拍一区二区| 日本成人在线一区| 精品美女在线观看| 岛国一区二区在线观看| 亚洲欧美电影院| 欧美老肥妇做.爰bbww视频| 美女在线一区二区| 久久久久9999亚洲精品| 波多野结衣精品在线| 亚洲精品欧美专区| 制服丝袜国产精品| 国产不卡高清在线观看视频| 亚洲视频 欧洲视频| 欧美日韩国产电影| 韩国视频一区二区| 国产精品久久久99| 欧美福利一区二区| 国产成人免费高清| 亚洲精品中文在线影院| 欧美一级片在线观看| 国产69精品久久久久777| 一区二区三区精品久久久| 91精品一区二区三区久久久久久| 国产美女视频一区| 亚洲综合丝袜美腿| 欧美va亚洲va香蕉在线| 色综合夜色一区| 久久精工是国产品牌吗| 亚洲欧洲日韩在线| 91麻豆精品国产91久久久使用方法| 国产成人夜色高潮福利影视| 亚洲一区二区三区四区中文字幕| 欧美一级欧美一级在线播放| 99久久亚洲一区二区三区青草 | 欧美xxxxx裸体时装秀| 99久久精品一区| 蜜臀av一区二区| 亚洲日本在线视频观看| 日韩亚洲欧美一区二区三区| www.色综合.com| 久久狠狠亚洲综合| 一区二区三区影院| 久久婷婷一区二区三区| 欧美性高清videossexo| 高清在线不卡av| 奇米精品一区二区三区在线观看一| 国产精品网站在线播放| 日韩一级高清毛片| 色婷婷久久久综合中文字幕| 国内精品第一页| 婷婷综合久久一区二区三区| 亚洲区小说区图片区qvod| 久久久午夜精品理论片中文字幕| 欧美日韩国产美| 99久久久国产精品免费蜜臀| 国产一区二区三区免费| 日韩成人精品在线观看| 亚洲码国产岛国毛片在线| 国产亚洲人成网站| 日韩亚洲欧美综合| 欧美日韩国产不卡| 99久久国产综合精品女不卡| 国产精品一色哟哟哟| 久久精品72免费观看| 五月天亚洲婷婷| 亚洲一区二区在线播放相泽 | 91天堂素人约啪| 国产69精品久久99不卡| 久久精品噜噜噜成人88aⅴ| 偷拍一区二区三区四区| 一区二区三区av电影| 国产精品丝袜在线| 久久综合五月天婷婷伊人| 日韩免费高清视频| 9191成人精品久久| 欧美日韩国产首页| 欧美中文字幕一二三区视频| 一本到三区不卡视频| proumb性欧美在线观看| 国产成人av一区二区三区在线| 久久国内精品自在自线400部| 图片区小说区区亚洲影院| 亚洲国产中文字幕| 亚洲午夜日本在线观看| 亚洲卡通动漫在线| 一区二区三区四区亚洲| 亚洲欧美日韩国产一区二区三区| 国产精品网友自拍| 国产精品天干天干在观线| 国产片一区二区三区| 国产拍揄自揄精品视频麻豆| 欧美激情在线一区二区| 日本一区二区电影| 亚洲国产成人一区二区三区| 国产精品天美传媒| 亚洲欧洲av另类| 亚洲视频一二区| 亚洲免费av高清| 一区二区三区高清不卡| 亚洲一区二区在线免费看| 亚洲一二三四在线| 香港成人在线视频| 日本91福利区| 国产麻豆精品久久一二三| 国产激情偷乱视频一区二区三区| 成人免费视频免费观看| 色综合天天视频在线观看 |