private async Task <TokenWrapper> GetAccessTokenAsync(string resource) { var httpclient = new HttpClient(); var requestMessage = new HttpRequestMessage(HttpMethod.Post, AuthTokenEndpoint); var contentParameters = new Dictionary <string, string> { { "client_id", Config.ApplicationId }, { "client_secret", Config.ApplicationSecret }, { "grant_type", "client_credentials" }, { "scope", "offline_access" }, { "resource", resource } }; var content = new FormUrlEncodedContent(contentParameters); requestMessage.Content = content; var responseMessage = await httpclient.SendAsync(requestMessage); var response = await responseMessage.Content.ReadAsStringAsync(); if (!responseMessage.IsSuccessStatusCode) { var errorResponse = JsonConvert.DeserializeObject <ErrorInfo>(response); throw new GraphAuthException(requestMessage, responseMessage, errorResponse); } var authTokenResponse = JsonConvert.DeserializeObject <AuthTokenResponse>(response); var token = new TokenWrapper { Expiry = DateTimeOffset.Now.Add(TimeSpan.FromSeconds(authTokenResponse.ExpiresIn)), AccessToken = authTokenResponse.AccessToken }; return(token); }
/// <summary> /// Stores the data. /// </summary> /// <param name="key">The key.</param> /// <param name="value">The value.</param> /// <returns></returns> public Task StoreAsync(string key, Token value) { return(_bucket.InsertAsync(TokenWrapper.TokenWrapperId(key), new TokenWrapper() { Id = key, Model = new Token() })); }
public async Task <TokenWrapper> Login(CredentialsViewModel credentials) { var user = await _usersServices.GetUser(credentials.Username, credentials.Password); var identity = await GetClaimsIdentity(user); if (identity == null) { return(null); } var response = new TokenWrapper { Id = identity.Claims.Single(c => c.Type == "id").Value, Token = await _jwtFactory.GenerateEncodedToken(credentials.Username, identity, user), ExpiresIn = _jwtOptions.ValidFor.TotalSeconds }; return(response); }
/** the generated parser. Maintains a state and a value stack, currently with fixed maximum size. @param yyLex scanner. @return result of the last reduction, if any. @throws yyException on irrecoverable parse error. */ public Object yyparse (yyParser.yyInput yyLex) { if (yyMax <= 0) yyMax = 256; // initial size int yyState = 0; // state stack ptr int [] yyStates = new int[yyMax]; // state stack Object yyVal = null; // value stack ptr Object [] yyVals = new Object[yyMax]; // value stack int yyToken = -1; // current input int yyErrorFlag = 0; // #tks to shift int yyTop = 0; goto skip; yyLoop: yyTop++; skip: for (;; ++ yyTop) { if (yyTop >= yyStates.Length) { // dynamically increase int[] i = new int[yyStates.Length+yyMax]; yyStates.CopyTo (i, 0); yyStates = i; Object[] o = new Object[yyVals.Length+yyMax]; yyVals.CopyTo (o, 0); yyVals = o; } yyStates[yyTop] = yyState; yyVals[yyTop] = yyVal; //t if (debug != null) debug.push(yyState, yyVal); yyDiscarded: for (;;) { // discarding a token does not change stack int yyN; if ((yyN = yyDefRed[yyState]) == 0) { // else [default] reduce (yyN) if (yyToken < 0) { yyToken = yyLex.advance() ? yyLex.token() : 0; //t if (debug != null) //t debug.lex(yyState, yyToken, yyname(yyToken), yyLex.value()); } if ((yyN = yySindex[yyState]) != 0 && ((yyN += yyToken) >= 0) && (yyN < yyTable.Length) && (yyCheck[yyN] == yyToken)) { //t if (debug != null) //t debug.shift(yyState, yyTable[yyN], yyErrorFlag-1); yyState = yyTable[yyN]; // shift to yyN yyVal = yyLex.value(); yyToken = -1; if (yyErrorFlag > 0) -- yyErrorFlag; goto yyLoop; } if ((yyN = yyRindex[yyState]) != 0 && (yyN += yyToken) >= 0 && yyN < yyTable.Length && yyCheck[yyN] == yyToken) yyN = yyTable[yyN]; // reduce (yyN) else switch (yyErrorFlag) { case 0: yyerror("syntax error", yyExpecting(yyState)); //t if (debug != null) debug.error("syntax error"); goto case 1; case 1: case 2: yyErrorFlag = 3; do { if ((yyN = yySindex[yyStates[yyTop]]) != 0 && (yyN += Token.yyErrorCode) >= 0 && yyN < yyTable.Length && yyCheck[yyN] == Token.yyErrorCode) { //t if (debug != null) //t debug.shift(yyStates[yyTop], yyTable[yyN], 3); yyState = yyTable[yyN]; yyVal = yyLex.value(); goto yyLoop; } //t if (debug != null) debug.pop(yyStates[yyTop]); } while (-- yyTop >= 0); //t if (debug != null) debug.reject(); throw new yyParser.yyException("irrecoverable syntax error"); case 3: if (yyToken == 0) { //t if (debug != null) debug.reject(); throw new yyParser.yyException("irrecoverable syntax error at end-of-file"); } //t if (debug != null) //t debug.discard(yyState, yyToken, yyname(yyToken), //t yyLex.value()); yyToken = -1; goto yyDiscarded; // leave stack alone } } int yyV = yyTop + 1-yyLen[yyN]; //t if (debug != null) //t debug.reduce(yyState, yyStates[yyV-1], yyN, yyRule[yyN], yyLen[yyN]); yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]); switch (yyN) { case 1: #line 217 "XQuery.y" { notation.ConfirmTag(Tag.Module, Descriptor.Root, yyVals[0+yyTop]); yyVal = notation.ResolveTag(Tag.Module); } break; case 2: #line 222 "XQuery.y" { notation.ConfirmTag(Tag.Module, Descriptor.Root, yyVals[0+yyTop]); yyVal = notation.ResolveTag(Tag.Module); } break; case 3: #line 227 "XQuery.y" { notation.ConfirmTag(Tag.Module, Descriptor.Root, yyVals[0+yyTop]); yyVal = notation.ResolveTag(Tag.Module); } break; case 4: #line 232 "XQuery.y" { notation.ConfirmTag(Tag.Module, Descriptor.Root, yyVals[0+yyTop]); yyVal = notation.ResolveTag(Tag.Module); } break; case 5: #line 240 "XQuery.y" { notation.ConfirmTag(Tag.Module, Descriptor.Version, yyVals[-1+yyTop], null); } break; case 6: #line 244 "XQuery.y" { notation.ConfirmTag(Tag.Module, Descriptor.Version, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 7: #line 251 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.Query, yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 8: #line 258 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.Library, yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 9: #line 265 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.ModuleNamespace, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 10: #line 272 "XQuery.y" { yyVal = null; } break; case 13: #line 278 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 14: #line 285 "XQuery.y" { yyVal = Lisp.Cons(yyVals[-1+yyTop]); } break; case 15: #line 289 "XQuery.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[-1+yyTop])); } break; case 16: #line 296 "XQuery.y" { yyVal = Lisp.Cons(yyVals[-1+yyTop]); } break; case 17: #line 300 "XQuery.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[-1+yyTop])); } break; case 35: #line 339 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.Namespace, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 36: #line 346 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.BoundarySpace, new TokenWrapper(Token.PRESERVE)); } break; case 37: #line 351 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.BoundarySpace, new TokenWrapper(Token.STRIP)); } break; case 38: #line 359 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.DefaultElement, yyVals[0+yyTop]); } break; case 39: #line 363 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.DefaultFunction, yyVals[0+yyTop]); } break; case 40: #line 370 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.OptionDecl, yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 41: #line 377 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.Ordering, new TokenWrapper(Token.ORDERED)); } break; case 42: #line 382 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.Ordering, new TokenWrapper(Token.UNORDERED)); } break; case 43: #line 390 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.DefaultOrder, new TokenWrapper(Token.EMPTY_GREATEST)); } break; case 44: #line 395 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.DefaultOrder, new TokenWrapper(Token.EMPTY_LEAST)); } break; case 45: #line 403 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.CopyNamespace, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 46: #line 411 "XQuery.y" { yyVal = new TokenWrapper(Token.PRESERVE); } break; case 47: #line 415 "XQuery.y" { yyVal = new TokenWrapper(Token.NO_PRESERVE); } break; case 48: #line 422 "XQuery.y" { yyVal = new TokenWrapper(Token.INHERIT); } break; case 49: #line 426 "XQuery.y" { yyVal = new TokenWrapper(Token.NO_INHERIT); } break; case 50: #line 433 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.DefaultCollation, yyVals[0+yyTop]); } break; case 51: #line 440 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.BaseUri, yyVals[0+yyTop]); } break; case 52: #line 447 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.ImportSchema, yyVals[-1+yyTop], yyVals[0+yyTop], null); } break; case 53: #line 452 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.ImportSchema, yyVals[-3+yyTop], yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 54: #line 460 "XQuery.y" { yyVal = null; } break; case 56: #line 468 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 57: #line 472 "XQuery.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 58: #line 479 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.Namespace, yyVals[-1+yyTop]); } break; case 59: #line 483 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.DefaultElement); } break; case 60: #line 490 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.ImportModule, yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 61: #line 494 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.ImportModule, yyVals[-3+yyTop], yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 62: #line 501 "XQuery.y" { yyVal = null; } break; case 63: #line 505 "XQuery.y" { yyVal = yyVals[0+yyTop]; } break; case 64: #line 511 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.VarDecl, yyVals[-4+yyTop], yyVals[-3+yyTop], yyVals[0+yyTop]); } break; case 65: #line 515 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.VarDecl, yyVals[-2+yyTop], yyVals[-1+yyTop]); } break; case 66: #line 522 "XQuery.y" { yyVal = null; } break; case 68: #line 530 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.ConstructionDecl, new TokenWrapper(Token.PRESERVE)); } break; case 69: #line 535 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.ConstructionDecl, new TokenWrapper(Token.STRIP)); } break; case 70: #line 543 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.DeclareFunction, yyVals[-4+yyTop], yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 71: #line 547 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Module), Descriptor.DeclareFunction, yyVals[-6+yyTop], yyVals[-4+yyTop], yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 73: #line 555 "XQuery.y" { yyVal = null; } break; case 74: #line 562 "XQuery.y" { yyVal = null; } break; case 76: #line 570 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 77: #line 574 "XQuery.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 78: #line 581 "XQuery.y" { yyVal = yyVals[0+yyTop]; } break; case 79: #line 585 "XQuery.y" { yyVal = yyVals[-1+yyTop]; notation.Confirm((Symbol)yyVals[-1+yyTop], Descriptor.TypeDecl, yyVals[0+yyTop]); } break; case 80: #line 593 "XQuery.y" { yyVal = yyVals[-1+yyTop]; } break; case 82: #line 604 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 83: #line 608 "XQuery.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 89: #line 623 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.FLWORExpr, yyVals[-2+yyTop], null, null, yyVals[0+yyTop]); } break; case 90: #line 627 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.FLWORExpr, yyVals[-3+yyTop], yyVals[-2+yyTop], null, yyVals[0+yyTop]); } break; case 91: #line 631 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.FLWORExpr, yyVals[-3+yyTop], null, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 92: #line 635 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.FLWORExpr, yyVals[-4+yyTop], yyVals[-3+yyTop], yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 93: #line 642 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 94: #line 646 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 95: #line 650 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 96: #line 654 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 97: #line 661 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.For, yyVals[0+yyTop]); } break; case 98: #line 665 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.For, yyVals[0+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.Parallel); } break; case 99: #line 673 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 100: #line 677 "XQuery.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 101: #line 684 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.ForClauseOperator, yyVals[-4+yyTop], yyVals[-3+yyTop], yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 102: #line 691 "XQuery.y" { yyVal = null; } break; case 104: #line 699 "XQuery.y" { yyVal = yyVals[0+yyTop]; } break; case 105: #line 706 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Let, yyVals[0+yyTop]); } break; case 106: #line 713 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 107: #line 717 "XQuery.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 108: #line 724 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.LetClauseOperator, yyVals[-4+yyTop], yyVals[-3+yyTop], yyVals[0+yyTop]); } break; case 109: #line 731 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Where, yyVals[0+yyTop]); } break; case 110: #line 738 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.OrderBy, yyVals[0+yyTop]); } break; case 111: #line 742 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.StableOrderBy, yyVals[0+yyTop]); } break; case 112: #line 749 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 113: #line 753 "XQuery.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 115: #line 761 "XQuery.y" { yyVal = yyVals[-1+yyTop]; notation.Confirm((Symbol)yyVals[-1+yyTop], Descriptor.Modifier, yyVals[0+yyTop]); } break; case 116: #line 769 "XQuery.y" { yyVal = Lisp.List(yyVals[0+yyTop], null, null); } break; case 117: #line 773 "XQuery.y" { yyVal = Lisp.List(null, null, yyVals[0+yyTop]); } break; case 118: #line 777 "XQuery.y" { yyVal = Lisp.List(yyVals[-1+yyTop], yyVals[0+yyTop], null); } break; case 119: #line 781 "XQuery.y" { yyVal = Lisp.List(yyVals[-2+yyTop], null, yyVals[0+yyTop]); } break; case 120: #line 785 "XQuery.y" { yyVal = Lisp.List(yyVals[-3+yyTop], yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 121: #line 789 "XQuery.y" { yyVal = Lisp.List(null, yyVals[0+yyTop], null); } break; case 122: #line 793 "XQuery.y" { yyVal = Lisp.List(null, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 123: #line 800 "XQuery.y" { yyVal = new TokenWrapper(Token.ASCENDING); } break; case 124: #line 804 "XQuery.y" { yyVal = new TokenWrapper(Token.DESCENDING); } break; case 125: #line 811 "XQuery.y" { yyVal = new TokenWrapper(Token.EMPTY_GREATEST); } break; case 126: #line 815 "XQuery.y" { yyVal = new TokenWrapper(Token.EMPTY_LEAST); } break; case 127: #line 822 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Some, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 128: #line 826 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Every, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 129: #line 833 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 130: #line 837 "XQuery.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 131: #line 844 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.QuantifiedExprOper, yyVals[-3+yyTop], yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 132: #line 851 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Typeswitch, yyVals[-5+yyTop], yyVals[-3+yyTop], yyVals[0+yyTop]); } break; case 133: #line 855 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Typeswitch, yyVals[-7+yyTop], yyVals[-5+yyTop], yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 134: #line 862 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 135: #line 866 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 136: #line 873 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Case, yyVals[-4+yyTop], yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 137: #line 877 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Case, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 138: #line 884 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.If, yyVals[-5+yyTop], yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 140: #line 892 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Or, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 142: #line 900 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.And, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 144: #line 908 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.ValueComp, yyVals[-2+yyTop], yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 145: #line 913 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.GeneralComp, yyVals[-2+yyTop], yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 146: #line 918 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.NodeComp, yyVals[-2+yyTop], yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 148: #line 927 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Range, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 150: #line 936 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Add, yyVals[-2+yyTop], new TokenWrapper('+'), yyVals[0+yyTop]); } break; case 151: #line 941 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Add, yyVals[-2+yyTop], new TokenWrapper('-'), yyVals[0+yyTop]); } break; case 153: #line 950 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Mul, yyVals[-2+yyTop], new TokenWrapper(Token.ML), yyVals[0+yyTop]); } break; case 154: #line 955 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Mul, yyVals[-2+yyTop], new TokenWrapper(Token.DIV), yyVals[0+yyTop]); } break; case 155: #line 960 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Mul, yyVals[-2+yyTop], new TokenWrapper(Token.IDIV), yyVals[0+yyTop]); } break; case 156: #line 965 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Mul, yyVals[-2+yyTop], new TokenWrapper(Token.MOD), yyVals[0+yyTop]); } break; case 158: #line 974 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Union, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 159: #line 979 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Concatenate, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 161: #line 988 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.IntersectExcept, yyVals[-2+yyTop], new TokenWrapper(Token.INTERSECT), yyVals[0+yyTop]); } break; case 162: #line 993 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.IntersectExcept, yyVals[-2+yyTop], new TokenWrapper(Token.EXCEPT), yyVals[0+yyTop]); } break; case 164: #line 1002 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.InstanceOf, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 166: #line 1010 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.TreatAs, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 168: #line 1018 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.CastableAs, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 170: #line 1026 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.CastAs, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 171: #line 1033 "XQuery.y" { if (yyVals[-1+yyTop] == null) yyVal = yyVals[0+yyTop]; else yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Unary, yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 172: #line 1043 "XQuery.y" { yyVal = null; } break; case 173: #line 1047 "XQuery.y" { yyVal = Lisp.Append(Lisp.Cons(new TokenWrapper('+')), yyVals[0+yyTop]); } break; case 174: #line 1051 "XQuery.y" { yyVal = Lisp.Append(Lisp.Cons(new TokenWrapper('-')), yyVals[0+yyTop]); } break; case 175: #line 1058 "XQuery.y" { yyVal = new Literal("="); } break; case 176: #line 1062 "XQuery.y" { yyVal = new Literal("!="); } break; case 177: #line 1066 "XQuery.y" { yyVal = new Literal("<"); } break; case 178: #line 1070 "XQuery.y" { yyVal = new Literal("<="); } break; case 179: #line 1074 "XQuery.y" { yyVal = new Literal(">"); } break; case 180: #line 1078 "XQuery.y" { yyVal = new Literal(">="); } break; case 181: #line 1085 "XQuery.y" { yyVal = new TokenWrapper(Token.EQ); } break; case 182: #line 1089 "XQuery.y" { yyVal = new TokenWrapper(Token.NE); } break; case 183: #line 1093 "XQuery.y" { yyVal = new TokenWrapper(Token.LT); } break; case 184: #line 1097 "XQuery.y" { yyVal = new TokenWrapper(Token.LE); } break; case 185: #line 1101 "XQuery.y" { yyVal = new TokenWrapper(Token.GT); } break; case 186: #line 1105 "XQuery.y" { yyVal = new TokenWrapper(Token.GE); } break; case 187: #line 1112 "XQuery.y" { yyVal = new TokenWrapper(Token.IS); } break; case 188: #line 1116 "XQuery.y" { yyVal = new Literal("<<"); } break; case 189: #line 1120 "XQuery.y" { yyVal = new Literal(">>"); } break; case 193: #line 1134 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Validate, null, yyVals[-1+yyTop]); } break; case 194: #line 1138 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Validate, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 195: #line 1145 "XQuery.y" { yyVal = new TokenWrapper(Token.LAX); } break; case 196: #line 1149 "XQuery.y" { yyVal = new TokenWrapper(Token.STRICT); } break; case 197: #line 1156 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.ExtensionExpr, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 198: #line 1163 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 199: #line 1167 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 200: #line 1174 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Pragma, yyVals[-2+yyTop], new Literal(yyVals[-1+yyTop])); } break; case 201: #line 1181 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Child, new object[] { null }); } break; case 202: #line 1185 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Child, yyVals[0+yyTop]); } break; case 203: #line 1189 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Descendant, yyVals[0+yyTop]); } break; case 206: #line 1198 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Child, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 207: #line 1202 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Descendant, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 208: #line 1209 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.AxisStep, yyVals[0+yyTop]); } break; case 209: #line 1213 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.FilterExpr, yyVals[0+yyTop]); } break; case 211: #line 1221 "XQuery.y" { yyVal = yyVals[-1+yyTop]; notation.Confirm((Symbol)yyVals[-1+yyTop], Descriptor.PredicateList, yyVals[0+yyTop]); } break; case 213: #line 1227 "XQuery.y" { yyVal = yyVals[-1+yyTop]; notation.Confirm((Symbol)yyVals[-1+yyTop], Descriptor.PredicateList, yyVals[0+yyTop]); } break; case 214: #line 1235 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.ForwardStep, yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 216: #line 1243 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_CHILD); } break; case 217: #line 1247 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_DESCENDANT); } break; case 218: #line 1251 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_ATTRIBUTE); } break; case 219: #line 1255 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_SELF); } break; case 220: #line 1259 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_DESCENDANT_OR_SELF); } break; case 221: #line 1263 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_FOLLOWING_SIBLING); } break; case 222: #line 1267 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_FOLLOWING); } break; case 223: #line 1271 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_NAMESPACE); } break; case 224: #line 1278 "XQuery.y" { yyVal = notation.Confirm((Symbol)yyVals[0+yyTop], Descriptor.AbbrevForward, yyVals[0+yyTop]); } break; case 226: #line 1286 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.ReverseStep, yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 228: #line 1294 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_PARENT); } break; case 229: #line 1298 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_ANCESTOR); } break; case 230: #line 1302 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_PRECEDING_SIBLING); } break; case 231: #line 1306 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_PRECEDING); } break; case 232: #line 1310 "XQuery.y" { yyVal = new TokenWrapper(Token.AXIS_ANCESTOR_OR_SELF); } break; case 233: #line 1317 "XQuery.y" { yyVal = new TokenWrapper(Token.DOUBLE_PERIOD); } break; case 238: #line 1334 "XQuery.y" { yyVal = new TokenWrapper('*'); } break; case 239: #line 1338 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Wildcard1, yyVals[-2+yyTop]); } break; case 240: #line 1342 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Wildcard2, yyVals[0+yyTop]); } break; case 242: #line 1350 "XQuery.y" { yyVal = yyVals[-1+yyTop]; notation.Confirm((Symbol)yyVals[-1+yyTop], Descriptor.PredicateList, yyVals[0+yyTop]); } break; case 243: #line 1358 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 244: #line 1362 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 245: #line 1369 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Predicate, yyVals[-1+yyTop]); } break; case 259: #line 1398 "XQuery.y" { yyVal = yyVals[0+yyTop]; } break; case 260: #line 1405 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.ParenthesizedExpr, new object[] { null }); } break; case 261: #line 1409 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.ParenthesizedExpr, yyVals[-1+yyTop]); } break; case 262: #line 1416 "XQuery.y" { yyVal = new TokenWrapper('.'); } break; case 263: #line 1423 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Ordered, yyVals[-1+yyTop]); } break; case 264: #line 1430 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Unordered, yyVals[-1+yyTop]); } break; case 265: #line 1437 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Funcall, yyVals[-2+yyTop], null); } break; case 266: #line 1441 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Funcall, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 267: #line 1448 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 268: #line 1452 "XQuery.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 274: #line 1470 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-3+yyTop], yyVals[-2+yyTop]); } break; case 275: #line 1474 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-3+yyTop], null); } break; case 276: #line 1478 "XQuery.y" { if (!yyVals[-7+yyTop].Equals(yyVals[-2+yyTop])) throw new XQueryException(Properties.Resources.XPST0003, String.Format("The end tag '{0}' does not match the start tag '{1}'", yyVals[-2+yyTop], yyVals[-7+yyTop])); yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-7+yyTop], yyVals[-6+yyTop], null, yyVals[-2+yyTop], yyVals[-1+yyTop]); } break; case 277: #line 1486 "XQuery.y" { if (!yyVals[-7+yyTop].Equals(yyVals[-2+yyTop])) throw new XQueryException(Properties.Resources.XPST0003, String.Format("The end tag '{0}' does not match the start tag '{1}'", yyVals[-2+yyTop], yyVals[-7+yyTop])); yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-7+yyTop], null, null, yyVals[-2+yyTop], yyVals[-1+yyTop]); } break; case 278: #line 1494 "XQuery.y" { if (!yyVals[-8+yyTop].Equals(yyVals[-2+yyTop])) throw new XQueryException(Properties.Resources.XPST0003, String.Format("The end tag '{0}' does not match the start tag '{1}'", yyVals[-2+yyTop], yyVals[-8+yyTop])); yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-8+yyTop], yyVals[-7+yyTop], yyVals[-5+yyTop], yyVals[-2+yyTop], yyVals[-1+yyTop]); } break; case 279: #line 1502 "XQuery.y" { if (!yyVals[-8+yyTop].Equals(yyVals[-2+yyTop])) throw new XQueryException(Properties.Resources.XPST0003, String.Format("The end tag '{0}' does not match the start tag '{1}'", yyVals[-2+yyTop], yyVals[-8+yyTop])); yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-8+yyTop], null, yyVals[-5+yyTop], yyVals[-2+yyTop], yyVals[-1+yyTop]); } break; case 280: #line 1511 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-7+yyTop], yyVals[-2+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.MappingExpr, yyVals[-4+yyTop]); } break; case 281: #line 1516 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-7+yyTop], null); notation.Confirm((Symbol)yyVal, Descriptor.MappingExpr, yyVals[-4+yyTop]); } break; case 282: #line 1521 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-11+yyTop], yyVals[-6+yyTop], null, yyVals[-3+yyTop], yyVals[-2+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.MappingExpr, yyVals[-8+yyTop]); } break; case 283: #line 1527 "XQuery.y" { if (!yyVals[-11+yyTop].Equals(yyVals[-2+yyTop])) throw new XQueryException(Properties.Resources.XPST0003, String.Format("The end tag '{0}' does not match the start tag '{1}'", yyVals[-2+yyTop], yyVals[-11+yyTop])); yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-11+yyTop], null, null, yyVals[-3+yyTop], yyVals[-2+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.MappingExpr, yyVals[-8+yyTop]); } break; case 284: #line 1536 "XQuery.y" { if (!yyVals[-12+yyTop].Equals(yyVals[-2+yyTop])) throw new XQueryException(Properties.Resources.XPST0003, String.Format("The end tag '{0}' does not match the start tag '{1}'", yyVals[-2+yyTop], yyVals[-12+yyTop])); yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-12+yyTop], yyVals[-7+yyTop], yyVals[-5+yyTop], yyVals[-2+yyTop], yyVals[-1+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.MappingExpr, yyVals[-9+yyTop]); } break; case 285: #line 1545 "XQuery.y" { if (!yyVals[-12+yyTop].Equals(yyVals[-2+yyTop])) throw new XQueryException(Properties.Resources.XPST0003, String.Format("The end tag '{0}' does not match the start tag '{1}'", yyVals[-2+yyTop], yyVals[-12+yyTop])); yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirElemConstructor, yyVals[-12+yyTop], null, yyVals[-5+yyTop], yyVals[-2+yyTop], yyVals[-1+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.MappingExpr, yyVals[-9+yyTop]); } break; case 286: #line 1557 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 287: #line 1561 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 288: #line 1568 "XQuery.y" { yyVal = null; } break; case 290: #line 1576 "XQuery.y" { yyVal = Lisp.List(yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 291: #line 1580 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 292: #line 1584 "XQuery.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.List(yyVals[-1+yyTop], yyVals[0+yyTop])); } break; case 293: #line 1591 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirAttribute, yyVals[-5+yyTop], yyVals[-4+yyTop], yyVals[-2+yyTop], new Literal("\""), Lisp.Cons(new Literal(""))); } break; case 294: #line 1596 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirAttribute, yyVals[-6+yyTop], yyVals[-5+yyTop], yyVals[-3+yyTop], new Literal("\""), yyVals[-1+yyTop]); } break; case 295: #line 1601 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirAttribute, yyVals[-5+yyTop], yyVals[-4+yyTop], yyVals[-2+yyTop], new Literal("\'"), Lisp.Cons(new Literal(""))); } break; case 296: #line 1606 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirAttribute, yyVals[-6+yyTop], yyVals[-5+yyTop], yyVals[-3+yyTop], new Literal("\'"), yyVals[-1+yyTop]); } break; case 297: #line 1614 "XQuery.y" { yyVal = Lisp.Cons(new TokenWrapper(Token.EscapeQuot)); } break; case 298: #line 1618 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 299: #line 1622 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(new TokenWrapper(Token.EscapeQuot))); } break; case 300: #line 1626 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 301: #line 1633 "XQuery.y" { yyVal = Lisp.Cons(new TokenWrapper(Token.EscapeApos)); } break; case 302: #line 1637 "XQuery.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 303: #line 1641 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(new TokenWrapper(Token.EscapeApos))); } break; case 304: #line 1645 "XQuery.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 315: #line 1671 "XQuery.y" { yyVal = new Literal("{"); } break; case 316: #line 1675 "XQuery.y" { yyVal = new Literal("}"); } break; case 317: #line 1679 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CommonContent), Descriptor.EnclosedExpr, yyVals[0+yyTop]); } break; case 318: #line 1686 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirCommentConstructor, yyVals[-1+yyTop]); } break; case 319: #line 1693 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirPIConstructor, yyVals[-1+yyTop], null); } break; case 320: #line 1697 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Constructor), Descriptor.DirPIConstructor, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 321: #line 1704 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CData), Descriptor.CDataSection, yyVals[-1+yyTop]); } break; case 328: #line 1720 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompDocConstructor, yyVals[-1+yyTop]); } break; case 329: #line 1728 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompElemConstructor, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 330: #line 1733 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompElemConstructor, yyVals[-2+yyTop], null); } break; case 331: #line 1738 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompElemConstructor, yyVals[-4+yyTop], yyVals[-1+yyTop]); } break; case 332: #line 1743 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompElemConstructor, yyVals[-3+yyTop], null); } break; case 334: #line 1755 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompAttrConstructor, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 335: #line 1760 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompAttrConstructor, yyVals[-2+yyTop], null); } break; case 336: #line 1765 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompAttrConstructor, yyVals[-4+yyTop], yyVals[-1+yyTop]); } break; case 337: #line 1770 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompAttrConstructor, yyVals[-3+yyTop], null); } break; case 338: #line 1778 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompTextConstructor, yyVals[-1+yyTop]); } break; case 339: #line 1786 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompCommentConstructor, yyVals[-1+yyTop]); } break; case 340: #line 1794 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompPIConstructor, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 341: #line 1799 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompPIConstructor, yyVals[-2+yyTop], null); } break; case 342: #line 1804 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompPIConstructor, yyVals[-4+yyTop], yyVals[-1+yyTop]); } break; case 343: #line 1809 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.CompConstructor), Descriptor.CompPIConstructor, yyVals[-3+yyTop], null); } break; case 345: #line 1818 "XQuery.y" { yyVal = yyVals[-1+yyTop]; notation.Confirm((Symbol)yyVals[-1+yyTop], Descriptor.Occurrence, new TokenWrapper(Token.Indicator3)); } break; case 346: #line 1827 "XQuery.y" { yyVal = yyVals[0+yyTop]; } break; case 348: #line 1835 "XQuery.y" { yyVal = yyVals[-1+yyTop]; notation.Confirm((Symbol)yyVals[-1+yyTop], Descriptor.Occurrence, yyVals[0+yyTop]); } break; case 349: #line 1840 "XQuery.y" { yyVal = new TokenWrapper(Token.EMPTY_SEQUENCE); } break; case 350: #line 1847 "XQuery.y" { yyVal = new TokenWrapper(Token.Indicator1); } break; case 351: #line 1851 "XQuery.y" { yyVal = new TokenWrapper(Token.Indicator2); } break; case 352: #line 1855 "XQuery.y" { yyVal = new TokenWrapper(Token.Indicator3); } break; case 355: #line 1864 "XQuery.y" { yyVal = new TokenWrapper(Token.ITEM); } break; case 357: #line 1875 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.KindTest, yyVals[0+yyTop]); } break; case 367: #line 1893 "XQuery.y" { yyVal = new TokenWrapper(Token.NODE); } break; case 368: #line 1900 "XQuery.y" { yyVal = new TokenWrapper(Token.DOCUMENT_NODE); } break; case 369: #line 1904 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.DocumentNode, yyVals[-1+yyTop]); } break; case 370: #line 1908 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.DocumentNode, yyVals[-1+yyTop]); } break; case 371: #line 1915 "XQuery.y" { yyVal = new TokenWrapper(Token.TEXT); } break; case 372: #line 1922 "XQuery.y" { yyVal = new TokenWrapper(Token.COMMENT); } break; case 373: #line 1930 "XQuery.y" { yyVal = new TokenWrapper(Token.PROCESSING_INSTRUCTION); } break; case 374: #line 1934 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.ProcessingInstruction, yyVals[-1+yyTop]); } break; case 375: #line 1938 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.ProcessingInstruction, yyVals[-1+yyTop]); } break; case 376: #line 1945 "XQuery.y" { yyVal = new TokenWrapper(Token.ELEMENT); } break; case 377: #line 1949 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Element, yyVals[-1+yyTop]); } break; case 378: #line 1953 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Element, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 379: #line 1957 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Element, yyVals[-4+yyTop], yyVals[-2+yyTop], new TokenWrapper('?')); } break; case 381: #line 1966 "XQuery.y" { yyVal = new TokenWrapper('*'); } break; case 382: #line 1973 "XQuery.y" { yyVal = new TokenWrapper(Token.ATTRIBUTE); } break; case 383: #line 1977 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Attribute, yyVals[-1+yyTop]); } break; case 384: #line 1981 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Attribute, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 386: #line 1989 "XQuery.y" { yyVal = new TokenWrapper('*'); } break; case 387: #line 1996 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.SchemaElement, yyVals[-1+yyTop]); } break; case 388: #line 2003 "XQuery.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.SchemaAttribute, yyVals[-1+yyTop]); } break; case 392: #line 2022 "XQuery.y" { yyVal = null; } break; #line default } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; int yyM = yyLhs[yyN]; if (yyState == 0 && yyM == 0) { //t if (debug != null) debug.shift(0, yyFinal); yyState = yyFinal; if (yyToken < 0) { yyToken = yyLex.advance() ? yyLex.token() : 0; //t if (debug != null) //t debug.lex(yyState, yyToken,yyname(yyToken), yyLex.value()); } if (yyToken == 0) { //t if (debug != null) debug.accept(yyVal); return yyVal; } goto yyLoop; } if (((yyN = yyGindex[yyM]) != 0) && ((yyN += yyState) >= 0) && (yyN < yyTable.Length) && (yyCheck[yyN] == yyState)) yyState = yyTable[yyN]; else yyState = yyDgoto[yyM]; //t if (debug != null) debug.shift(yyStates[yyTop], yyState); goto yyLoop; } } }
/// <summary> /// Removes the data. /// </summary> /// <param name="key">The key.</param> /// <returns></returns> public Task RemoveAsync(string key) { return(_bucket.RemoveAsync(TokenWrapper.TokenWrapperId(key))); }
/// <summary> /// Retrieves the data. /// </summary> /// <param name="key">The key.</param> /// <returns></returns> public async Task <Token> GetAsync(string key) { var result = await _bucket.GetAsync <TokenWrapper>(TokenWrapper.TokenWrapperId(key)); return(result.Success ? result.Value.Model : null); }
/** the generated parser. Maintains a state and a value stack, currently with fixed maximum size. @param yyLex scanner. @return result of the last reduction, if any. @throws yyException on irrecoverable parse error. */ public Object yyparse (yyParser.yyInput yyLex) { if (yyMax <= 0) yyMax = 256; // initial size int yyState = 0; // state stack ptr int [] yyStates = new int[yyMax]; // state stack Object yyVal = null; // value stack ptr Object [] yyVals = new Object[yyMax]; // value stack int yyToken = -1; // current input int yyErrorFlag = 0; // #tks to shift int yyTop = 0; goto skip; yyLoop: yyTop++; skip: for (;; ++ yyTop) { if (yyTop >= yyStates.Length) { // dynamically increase int[] i = new int[yyStates.Length+yyMax]; yyStates.CopyTo (i, 0); yyStates = i; Object[] o = new Object[yyVals.Length+yyMax]; yyVals.CopyTo (o, 0); yyVals = o; } yyStates[yyTop] = yyState; yyVals[yyTop] = yyVal; //t if (debug != null) debug.push(yyState, yyVal); yyDiscarded: for (;;) { // discarding a token does not change stack int yyN; if ((yyN = yyDefRed[yyState]) == 0) { // else [default] reduce (yyN) if (yyToken < 0) { yyToken = yyLex.advance() ? yyLex.token() : 0; //t if (debug != null) //t debug.lex(yyState, yyToken, yyname(yyToken), yyLex.value()); } if ((yyN = yySindex[yyState]) != 0 && ((yyN += yyToken) >= 0) && (yyN < yyTable.Length) && (yyCheck[yyN] == yyToken)) { //t if (debug != null) //t debug.shift(yyState, yyTable[yyN], yyErrorFlag-1); yyState = yyTable[yyN]; // shift to yyN yyVal = yyLex.value(); yyToken = -1; if (yyErrorFlag > 0) -- yyErrorFlag; goto yyLoop; } if ((yyN = yyRindex[yyState]) != 0 && (yyN += yyToken) >= 0 && yyN < yyTable.Length && yyCheck[yyN] == yyToken) yyN = yyTable[yyN]; // reduce (yyN) else switch (yyErrorFlag) { case 0: yyerror("syntax error", yyExpecting(yyState)); //t if (debug != null) debug.error("syntax error"); goto case 1; case 1: case 2: yyErrorFlag = 3; do { if ((yyN = yySindex[yyStates[yyTop]]) != 0 && (yyN += Token.yyErrorCode) >= 0 && yyN < yyTable.Length && yyCheck[yyN] == Token.yyErrorCode) { //t if (debug != null) //t debug.shift(yyStates[yyTop], yyTable[yyN], 3); yyState = yyTable[yyN]; yyVal = yyLex.value(); goto yyLoop; } //t if (debug != null) debug.pop(yyStates[yyTop]); } while (-- yyTop >= 0); //t if (debug != null) debug.reject(); throw new yyParser.yyException("irrecoverable syntax error"); case 3: if (yyToken == 0) { //t if (debug != null) debug.reject(); throw new yyParser.yyException("irrecoverable syntax error at end-of-file"); } //t if (debug != null) //t debug.discard(yyState, yyToken, yyname(yyToken), //t yyLex.value()); yyToken = -1; goto yyDiscarded; // leave stack alone } } int yyV = yyTop + 1-yyLen[yyN]; //t if (debug != null) //t debug.reduce(yyState, yyStates[yyV-1], yyN, yyRule[yyN], yyLen[yyN]); yyVal = yyDefault(yyV > yyTop ? null : yyVals[yyV]); switch (yyN) { case 1: #line 345 "SQL92-min.y" { notation.ConfirmTag(Tag.Stmt, Descriptor.Root, yyVals[0+yyTop]); yyVal = notation.ResolveTag(Tag.Stmt); if (yyVals[-1+yyTop] != null) notation.Confirm((Symbol)yyVal, Descriptor.OptimizerHint, yyVals[-1+yyTop]); } break; case 2: #line 352 "SQL92-min.y" { notation.ConfirmTag(Tag.Stmt, Descriptor.Root, yyVals[-1+yyTop]); notation.ConfirmTag(Tag.Stmt, Descriptor.Order, yyVals[0+yyTop]); yyVal = notation.ResolveTag(Tag.Stmt); if (yyVals[-2+yyTop] != null) notation.Confirm((Symbol)yyVal, Descriptor.OptimizerHint, yyVals[-2+yyTop]); } break; case 3: #line 363 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; } break; case 4: #line 371 "SQL92-min.y" { Symbol sym = new Symbol(Tag.Predicate); yyVal = notation.Confirm(sym, Descriptor.Between, yyVals[-5+yyTop], yyVals[-2+yyTop], yyVals[0+yyTop]); if (yyVals[-4+yyTop] != null) notation.Confirm(sym, Descriptor.Inverse); } break; case 5: #line 381 "SQL92-min.y" { yyVal = null; } break; case 10: #line 398 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.NullIf, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 11: #line 406 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Coalesce, yyVals[-1+yyTop]); } break; case 12: #line 414 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 13: #line 418 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 22: #line 449 "SQL92-min.y" { Symbol sym = new Symbol(Tag.CExpr); if (yyVals[-1+yyTop] == null) yyVal = notation.Confirm(sym, Descriptor.Substring, yyVals[-4+yyTop], yyVals[-2+yyTop]); else yyVal = notation.Confirm(sym, Descriptor.Substring, yyVals[-4+yyTop], yyVals[-2+yyTop], yyVals[-1+yyTop]); } break; case 23: #line 460 "SQL92-min.y" { yyVal = null; } break; case 24: #line 464 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; } break; case 26: #line 472 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CExpr), Descriptor.Concat, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 31: #line 486 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 32: #line 490 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 39: #line 507 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Predicate), Descriptor.Pred, yyVals[-2+yyTop], yyVals[-1+yyTop], yyVals[0+yyTop]); } break; case 44: #line 527 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; } break; case 45: #line 534 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; } break; case 46: #line 541 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; } break; case 47: #line 548 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; if (yyVals[-2+yyTop] != null) notation.ConfirmTag(Tag.Join, Descriptor.JoinType, new TokenWrapper(yyVals[-2+yyTop])); } break; case 50: #line 562 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; notation.Confirm((Symbol)yyVal, Descriptor.Alias, yyVals[0+yyTop]); } break; case 52: #line 571 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; notation.Confirm((Symbol)yyVal, Descriptor.Dynatable); } break; case 57: #line 592 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CaseExpr), Descriptor.ElseBranch, yyVals[0+yyTop]); } break; case 59: #line 603 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Predicate), Descriptor.Exists, yyVals[0+yyTop]); } break; case 61: #line 618 "SQL92-min.y" { if (yyVals[-1+yyTop].Equals("-")) yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.UnaryMinus, yyVals[0+yyTop]); else yyVal = 2; } break; case 62: #line 629 "SQL92-min.y" { Symbol sym = new Symbol(Tag.CExpr); switch((int)yyVals[-3+yyTop]) { case Token.UPPER: yyVal = notation.Confirm(sym, Descriptor.StringUpper, yyVals[-1+yyTop]); break; case Token.LOWER: yyVal = notation.Confirm(sym, Descriptor.StringLower, yyVals[-1+yyTop]); break; } } break; case 65: #line 651 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CExpr), Descriptor.StringConvert, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 67: #line 663 "SQL92-min.y" { notation.ConfirmTag(Tag.SQuery, Descriptor.From, yyVals[0+yyTop]); } break; case 68: #line 670 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 69: #line 674 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 70: #line 682 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.AggExpr), Descriptor.Aggregate, new TokenWrapper(yyVals[-3+yyTop]), yyVals[-1+yyTop]); } break; case 71: #line 687 "SQL92-min.y" { Symbol sym = new Symbol(Tag.AggExpr); yyVal = notation.Confirm(sym, Descriptor.Aggregate, new TokenWrapper(yyVals[-4+yyTop]), yyVals[-1+yyTop]); if ((int)yyVals[-2+yyTop] == Token.DISTINCT) notation.Confirm(sym, Descriptor.Distinct); } break; case 72: #line 697 "SQL92-min.y" { yyVal = new Parameter(yyVals[0+yyTop].ToString()); } break; case 76: #line 710 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; notation.ConfirmTag(Tag.SQuery, Descriptor.GroupingColumnRef, yyVals[0+yyTop]); } break; case 77: #line 718 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 78: #line 722 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 80: #line 731 "SQL92-min.y" { notation.ConfirmTag(Tag.SQuery, Descriptor.GroupBy, yyVals[0+yyTop]); } break; case 82: #line 739 "SQL92-min.y" { notation.ConfirmTag(Tag.SQuery, Descriptor.Having, yyVals[0+yyTop]); } break; case 86: #line 756 "SQL92-min.y" { Symbol sym = new Symbol(Tag.Predicate); yyVal = notation.Confirm(sym, Descriptor.InSet, yyVals[-3+yyTop], yyVals[0+yyTop]); if (yyVals[-2+yyTop] != null) notation.Confirm(sym, Descriptor.Inverse); } break; case 88: #line 767 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.ValueList), Descriptor.ValueList, yyVals[-1+yyTop]); } break; case 89: #line 774 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 90: #line 778 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 91: #line 785 "SQL92-min.y" { notation.ConfirmTag(Tag.Join, Descriptor.CrossJoin, yyVals[-1+yyTop], yyVals[0+yyTop]); yyVal = notation.ResolveTag(Tag.Join); } break; case 92: #line 790 "SQL92-min.y" { notation.ConfirmTag(Tag.Join, Descriptor.UnionJoin, yyVals[-1+yyTop], yyVals[0+yyTop]); yyVal = notation.ResolveTag(Tag.Join); } break; case 93: #line 795 "SQL92-min.y" { notation.ConfirmTag(Tag.Join, Descriptor.NaturalJoin, yyVals[-1+yyTop], yyVals[0+yyTop]); yyVal = notation.ResolveTag(Tag.Join); } break; case 94: #line 800 "SQL92-min.y" { notation.ConfirmTag(Tag.Join, Descriptor.QualifiedJoin, yyVals[-1+yyTop], yyVals[0+yyTop]); yyVal = notation.ResolveTag(Tag.Join); } break; case 95: #line 805 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Join), Descriptor.Branch, yyVals[-1+yyTop]); } break; case 97: #line 816 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; } break; case 104: #line 835 "SQL92-min.y" { notation.ConfirmTag(Tag.Join, Descriptor.Outer); } break; case 105: #line 842 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Predicate), Descriptor.Like, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 106: #line 847 "SQL92-min.y" { Symbol sym = new Symbol(Tag.Predicate); yyVal = notation.Confirm(sym, Descriptor.Like, yyVals[-2+yyTop], yyVals[0+yyTop]); notation.Confirm(sym, Descriptor.Inverse); } break; case 107: #line 853 "SQL92-min.y" { Symbol sym = new Symbol(Tag.Predicate); yyVal = notation.Confirm(sym, Descriptor.Like, yyVals[-4+yyTop], yyVals[-2+yyTop]); notation.Confirm(sym, Descriptor.Escape, yyVals[0+yyTop]); } break; case 108: #line 859 "SQL92-min.y" { Symbol sym = new Symbol(Tag.Predicate); yyVal = notation.Confirm(sym, Descriptor.Like, yyVals[-4+yyTop], yyVals[-2+yyTop]); notation.Confirm(sym, Descriptor.Inverse); notation.Confirm(sym, Descriptor.Escape, yyVals[0+yyTop]); } break; case 109: #line 871 "SQL92-min.y" { Symbol sym = new Symbol(Tag.Predicate); yyVal = notation.Confirm(sym, Descriptor.Match, yyVals[-4+yyTop], yyVals[0+yyTop]); if (yyVals[-2+yyTop] != null) notation.Confirm(sym, Descriptor.Unique); if (yyVals[-1+yyTop] != null) notation.Confirm(sym, Descriptor.MatchType, new TokenWrapper(yyVals[-1+yyTop])); } break; case 110: #line 883 "SQL92-min.y" { yyVal = null; } break; case 112: #line 891 "SQL92-min.y" { yyVal = null; } break; case 116: #line 904 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Join), Descriptor.Using, yyVals[-1+yyTop]); } break; case 117: #line 911 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Join), Descriptor.Constraint, new TokenWrapper(yyVals[-1+yyTop])); } break; case 118: #line 915 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Join), Descriptor.Constraint, new TokenWrapper(yyVals[-1+yyTop])); } break; case 119: #line 919 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Join), Descriptor.Constraint, yyVals[0+yyTop]); } break; case 121: #line 927 "SQL92-min.y" { Symbol sym = new Symbol(Tag.QueryExp); switch((int)yyVals[-3+yyTop]) { case Token.UNION: notation.Confirm(sym, Descriptor.Union, yyVals[-4+yyTop], yyVals[0+yyTop]); break; case Token.EXCEPT: notation.Confirm(sym, Descriptor.Except, yyVals[-4+yyTop], yyVals[0+yyTop]); break; } if (yyVals[-2+yyTop] != null) notation.Confirm(sym, Descriptor.Distinct); yyVal = sym; } break; case 124: #line 951 "SQL92-min.y" { yyVal = null; } break; case 126: #line 959 "SQL92-min.y" { yyVal = null; } break; case 129: #line 968 "SQL92-min.y" { Symbol sym = new Symbol(Tag.QueryTerm); notation.Confirm(sym, Descriptor.Intersect, yyVals[-4+yyTop], yyVals[0+yyTop]); if (yyVals[-2+yyTop] != null) notation.Confirm(sym, Descriptor.Distinct); yyVal = sym; } break; case 130: #line 980 "SQL92-min.y" { Symbol sym = new Symbol(Tag.Predicate); yyVal = notation.Confirm(sym, Descriptor.IsNull, yyVals[-3+yyTop]); if (yyVals[-1+yyTop] != null) notation.Confirm(sym, Descriptor.Inverse); } break; case 136: #line 1001 "SQL92-min.y" { Symbol sym = new Symbol(Tag.Expr); if (yyVals[-1+yyTop].Equals("+")) yyVal = notation.Confirm(sym, Descriptor.Add, yyVals[-2+yyTop], yyVals[0+yyTop]); else yyVal = notation.Confirm(sym, Descriptor.Sub, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 141: #line 1022 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; } break; case 145: #line 1036 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Predicate), Descriptor.Overlaps, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 149: #line 1053 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.PosString, yyVals[-1+yyTop], yyVals[-3+yyTop]); } break; case 160: #line 1073 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; if (yyVals[-3+yyTop] != null) notation.ConfirmTag(Tag.Join, Descriptor.JoinType, new TokenWrapper(yyVals[-3+yyTop])); notation.ConfirmTag(Tag.Join, Descriptor.JoinSpec, yyVals[0+yyTop]); } break; case 161: #line 1083 "SQL92-min.y" { yyVal = null; } break; case 163: #line 1092 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Predicate), Descriptor.QuantifiedPred, yyVals[-3+yyTop], yyVals[-2+yyTop], new TokenWrapper(yyVals[-1+yyTop]), yyVals[0+yyTop]); } break; case 167: #line 1107 "SQL92-min.y" { if ((int)yyVals[-2+yyTop] == Token.DISTINCT) notation.ConfirmTag(Tag.SQuery, Descriptor.Distinct); if (yyVals[-3+yyTop] != null) notation.ConfirmTag(Tag.SQuery, Descriptor.Top, yyVals[-3+yyTop]); yyVal = notation.ResolveTag(Tag.SQuery); notation.LeaveContext(); } break; case 168: #line 1119 "SQL92-min.y" { yyVal = null; } break; case 169: #line 1123 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; } break; case 174: #line 1141 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.RowValue), Descriptor.RowValue, Lisp.Append(Lisp.Cons(yyVals[-3+yyTop]), yyVals[-1+yyTop])); } break; case 176: #line 1151 "SQL92-min.y" { yyVal = new TokenWrapper(yyVals[0+yyTop]); } break; case 177: #line 1155 "SQL92-min.y" { yyVal = new TokenWrapper(yyVals[0+yyTop]); } break; case 178: #line 1162 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 179: #line 1166 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 180: #line 1175 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CaseExpr), Descriptor.Case, yyVals[-1+yyTop]); } break; case 181: #line 1182 "SQL92-min.y" { object clause_list = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[-1+yyTop])); yyVal = notation.Confirm(new Symbol(Tag.CaseExpr), Descriptor.Case, clause_list); } break; case 182: #line 1190 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 183: #line 1194 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 184: #line 1201 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CaseExpr), Descriptor.CaseBranch, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 187: #line 1213 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.BooleanExpr), Descriptor.LogicalOR, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 190: #line 1225 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.BooleanExpr), Descriptor.LogicalAND, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 193: #line 1237 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.BooleanExpr), Descriptor.Inverse, yyVals[0+yyTop]); } break; case 195: #line 1245 "SQL92-min.y" { Symbol sym = new Symbol(Tag.BooleanExpr); yyVal = notation.Confirm(sym, Descriptor.BooleanTest, new TokenWrapper(yyVals[0+yyTop]), yyVals[-3+yyTop]); if (yyVals[-1+yyTop] != null) notation.Confirm(sym, Descriptor.Inverse); } break; case 197: #line 1256 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.BooleanExpr), Descriptor.Branch, yyVals[-1+yyTop]); } break; case 201: #line 1270 "SQL92-min.y" { notation.ConfirmTag(Tag.SQuery, Descriptor.Select, null); } break; case 202: #line 1274 "SQL92-min.y" { notation.ConfirmTag(Tag.SQuery, Descriptor.Select, yyVals[0+yyTop]); } break; case 203: #line 1281 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 204: #line 1285 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 205: #line 1292 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.TableFields), Descriptor.TableFields, yyVals[-1+yyTop]); } break; case 207: #line 1300 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.AggExpr), Descriptor.AggCount); } break; case 215: #line 1317 "SQL92-min.y" { notation.EnterContext(); yyVal = Token.ALL; } break; case 216: #line 1322 "SQL92-min.y" { notation.EnterContext(); yyVal = yyVals[0+yyTop]; } break; case 221: #line 1342 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CaseExpr), Descriptor.Case, yyVals[-2+yyTop], yyVals[-1+yyTop]); } break; case 222: #line 1349 "SQL92-min.y" { object clause_list = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[-1+yyTop])); yyVal = notation.Confirm(new Symbol(Tag.CaseExpr), Descriptor.Case, yyVals[-3+yyTop], clause_list); } break; case 223: #line 1357 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 224: #line 1361 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 227: #line 1374 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CaseExpr), Descriptor.CaseBranch, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 229: #line 1382 "SQL92-min.y" { yyVal = new IntegerValue(yyVals[0+yyTop]); } break; case 230: #line 1390 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; if ((int)yyVals[0+yyTop] == Token.DESC) notation.Confirm((Symbol)yyVals[-1+yyTop], Descriptor.Desc); } break; case 231: #line 1399 "SQL92-min.y" { yyVal = Token.ASC; } break; case 233: #line 1407 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 234: #line 1411 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 238: #line 1430 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; if (yyVals[-2+yyTop] != null) notation.Confirm((Symbol)yyVals[-1+yyTop], Descriptor.OptimizerHint, yyVals[-2+yyTop]); } break; case 239: #line 1436 "SQL92-min.y" { yyVal = yyVals[-2+yyTop]; notation.Confirm((Symbol)yyVals[-2+yyTop], Descriptor.Order, yyVals[-1+yyTop]); if (yyVals[-3+yyTop] != null) notation.Confirm((Symbol)yyVals[-2+yyTop], Descriptor.OptimizerHint, yyVals[-3+yyTop]); } break; case 245: #line 1460 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; notation.Confirm((Symbol)yyVal, Descriptor.Alias, yyVals[0+yyTop]); } break; case 249: #line 1474 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Dynatable), Descriptor.Dynatable, yyVals[0+yyTop]); } break; case 250: #line 1478 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Dynatable), Descriptor.Dynatable, yyVals[0+yyTop]); } break; case 251: #line 1482 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Dynatable), Descriptor.Dynatable, yyVals[-2+yyTop]); } break; case 252: #line 1486 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Dynatable), Descriptor.Dynatable, yyVals[0+yyTop]); } break; case 253: #line 1493 "SQL92-min.y" { yyVal = new Qname(yyVals[0+yyTop]); } break; case 254: #line 1498 "SQL92-min.y" { yyVal = new Qname(yyVals[-3+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.DerivedColumns, yyVals[-1+yyTop]); } break; case 255: #line 1506 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.TableConstructor), Descriptor.TableValue, yyVals[0+yyTop]); } break; case 256: #line 1514 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 257: #line 1518 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 259: #line 1526 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Mul, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 260: #line 1530 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Div, yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 261: #line 1537 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; } break; case 262: #line 1544 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CExpr), Descriptor.StringTrim, new TokenWrapper(Token.BOTH), new Literal(" "), yyVals[0+yyTop]); } break; case 263: #line 1549 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CExpr), Descriptor.StringTrim, new TokenWrapper(Token.BOTH), new Literal(" "), yyVals[0+yyTop]); } break; case 264: #line 1554 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CExpr), Descriptor.StringTrim, new TokenWrapper(Token.BOTH), yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 265: #line 1559 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CExpr), Descriptor.StringTrim, new TokenWrapper(yyVals[-2+yyTop]), new Literal(" "), yyVals[0+yyTop]); } break; case 266: #line 1564 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.CExpr), Descriptor.StringTrim, new TokenWrapper(yyVals[-3+yyTop]), yyVals[-2+yyTop], yyVals[0+yyTop]); } break; case 272: #line 1586 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Predicate), Descriptor.Unique, yyVals[0+yyTop]); } break; case 284: #line 1610 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Branch, yyVals[-1+yyTop]); } break; case 285: #line 1617 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Funcall), Descriptor.Funcall, new Qname(yyVals[-2+yyTop]), null); } break; case 286: #line 1621 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Funcall), Descriptor.Funcall, new Qname(yyVals[-3+yyTop]), yyVals[-1+yyTop]); } break; case 289: #line 1633 "SQL92-min.y" { notation.ConfirmTag(Tag.SQuery, Descriptor.Where, yyVals[0+yyTop]); } break; case 290: #line 1640 "SQL92-min.y" { yyVal = null; } break; case 292: #line 1648 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 293: #line 1652 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-1+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 294: #line 1659 "SQL92-min.y" { yyVal = new Qname(yyVals[0+yyTop]); } break; case 295: #line 1666 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; notation.ConfirmTag(Tag.SQuery, Descriptor.TableName, yyVals[0+yyTop]); } break; case 296: #line 1671 "SQL92-min.y" { notation.ConfirmTag(Tag.SQuery, Descriptor.TableName, yyVals[0+yyTop]); } break; case 297: #line 1678 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; notation.Confirm((Symbol)yyVal, Descriptor.Prefix, new Literal(yyVals[-2+yyTop])); } break; case 299: #line 1687 "SQL92-min.y" { yyVal = yyVals[-2+yyTop]; ((Qname)yyVals[-2+yyTop]).Append((String)yyVals[0+yyTop]); } break; case 300: #line 1695 "SQL92-min.y" { yyVal = yyVals[0+yyTop]; notation.Confirm((Symbol)yyVals[0+yyTop], Descriptor.ColumnRef); } break; case 302: #line 1704 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Dref), Descriptor.Dref, yyVals[-2+yyTop], new Literal((String)yyVals[0+yyTop])); } break; case 303: #line 1708 "SQL92-min.y" { Notation.Record[] recs = notation.Select((Symbol)yyVals[0+yyTop], Descriptor.Funcall, 2); if (recs.Length > 0) { yyVal = notation.Confirm(new Symbol(Tag.Funcall), Descriptor.Funcall, recs[0].Arg0, Lisp.Append(Lisp.Cons(yyVals[-2+yyTop]), recs[0].args[1])); notation.Remove(recs); } else throw new InvalidOperationException(); } break; case 304: #line 1720 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Dref), Descriptor.At, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 305: #line 1724 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Dref), Descriptor.Wref, yyVals[-2+yyTop], new Literal((String)yyVals[0+yyTop])); } break; case 306: #line 1731 "SQL92-min.y" { yyVal = new Qname(yyVals[0+yyTop]); } break; case 307: #line 1738 "SQL92-min.y" { yyVal = new IntegerValue(yyVals[0+yyTop]); } break; case 308: #line 1742 "SQL92-min.y" { yyVal = new DecimalValue(yyVals[0+yyTop]); } break; case 309: #line 1746 "SQL92-min.y" { yyVal = new DoubleValue(yyVals[0+yyTop]); } break; case 310: #line 1750 "SQL92-min.y" { yyVal = new Literal(yyVals[0+yyTop]); } break; case 320: #line 1770 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLQuery, yyVals[-2+yyTop], null, yyVals[-1+yyTop]); } break; case 321: #line 1774 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLQuery, yyVals[-4+yyTop], yyVals[-2+yyTop], yyVals[-1+yyTop]); } break; case 322: #line 1778 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLQuery, yyVals[-6+yyTop], yyVals[-2+yyTop], yyVals[-1+yyTop]); } break; case 323: #line 1785 "SQL92-min.y" { yyVal = null; } break; case 324: #line 1789 "SQL92-min.y" { yyVal = new TokenWrapper(Token.RETURNING_CONTENT); } break; case 325: #line 1793 "SQL92-min.y" { yyVal = new TokenWrapper(Token.RETURNING_SEQUENCE); } break; case 326: #line 1800 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 327: #line 1804 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 328: #line 1811 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.AggExpr), Descriptor.Aggregate, new TokenWrapper(Token.XMLAGG), yyVals[-1+yyTop]); } break; case 329: #line 1816 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.AggExpr), Descriptor.Aggregate, new TokenWrapper(Token.XMLAGG), yyVals[-2+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.Order, yyVals[-1+yyTop]); } break; case 330: #line 1825 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLConcat, yyVals[-1+yyTop]); } break; case 331: #line 1833 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLForestAll); } break; case 332: #line 1837 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLForest, yyVals[-1+yyTop]); } break; case 333: #line 1842 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLForest, yyVals[-1+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.XMLNamespaces, yyVals[-3+yyTop]); } break; case 334: #line 1851 "SQL92-min.y" { String spec = yyVals[-3+yyTop].ToString().ToUpperInvariant(); if (spec.Equals("DOCUMENT") || spec.Equals("CONTENT")) yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLParse, new Literal(spec), yyVals[-2+yyTop], yyVals[-1+yyTop]); else { yyerror(String.Format(Properties.Resources.SyntaxError, String.Format("XMLPARSE({0}...", spec))); throw new yyParser.yyException("Syntax error"); } } break; case 335: #line 1866 "SQL92-min.y" { String spec = (String)yyVals[-2+yyTop]; if (! spec.Equals("NAME", StringComparison.InvariantCultureIgnoreCase)) { yyerror(String.Format(Properties.Resources.SyntaxError, String.Format("XMLPI({0}...", spec))); throw new yyParser.yyException("Syntax error"); } yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLPI, yyVals[-1+yyTop], null); } break; case 336: #line 1877 "SQL92-min.y" { String spec = (String)yyVals[-4+yyTop]; if (! spec.Equals("NAME", StringComparison.InvariantCultureIgnoreCase)) { yyerror(String.Format(Properties.Resources.SyntaxError, String.Format("XMLPI({0}...", spec))); throw new yyParser.yyException("Syntax error"); } yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLPI, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 337: #line 1891 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLComment, yyVals[-1+yyTop]); } break; case 338: #line 1898 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLCDATA, yyVals[-1+yyTop]); } break; case 339: #line 1905 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLRoot, yyVals[-1+yyTop], null, null); } break; case 340: #line 1909 "SQL92-min.y" { String tok = (String)yyVals[-2+yyTop]; if (! tok.Equals("VERSION", StringComparison.InvariantCultureIgnoreCase)) { yyerror(String.Format(Properties.Resources.SyntaxError, String.Format("XMLRoot(... {0} ...", tok))); throw new yyParser.yyException("Syntax error"); } yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLRoot, yyVals[-4+yyTop], new Literal(yyVals[-1+yyTop]), null); } break; case 341: #line 1920 "SQL92-min.y" { String tok = (String)yyVals[-5+yyTop]; if (! tok.Equals("VERSION", StringComparison.InvariantCultureIgnoreCase)) { yyerror(String.Format(Properties.Resources.SyntaxError, String.Format("XMLRoot(... {0} ...", tok))); throw new yyParser.yyException("Syntax error"); } tok = (String)yyVals[-2+yyTop]; if (! tok.Equals("STANDALONE", StringComparison.InvariantCultureIgnoreCase)) { yyerror(String.Format(Properties.Resources.SyntaxError, String.Format("XMLRoot(... {0} ...", tok))); throw new yyParser.yyException("Syntax error"); } yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLRoot, yyVals[-7+yyTop], new Literal(yyVals[-4+yyTop]), yyVals[-1+yyTop]); } break; case 343: #line 1942 "SQL92-min.y" { yyVal = null; } break; case 344: #line 1949 "SQL92-min.y" { String tok = (String)yyVals[0+yyTop]; if (tok.Equals("NO", StringComparison.InvariantCultureIgnoreCase) || tok.Equals("YES", StringComparison.InvariantCultureIgnoreCase)) yyVal = new Qname(tok.ToUpperInvariant()); else throw new yyParser.yyException(String.Format(Properties.Resources.SyntaxError, "STANDALONE value must be YES|NO|NO VALUE")); } break; case 345: #line 1959 "SQL92-min.y" { yyVal = null; } break; case 346: #line 1966 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLElement, yyVals[-1+yyTop], null); } break; case 347: #line 1970 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLElement, yyVals[-3+yyTop], null); notation.Confirm((Symbol)yyVal, Descriptor.XMLNamespaces, yyVals[-1+yyTop]); } break; case 348: #line 1975 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLElement, yyVals[-3+yyTop], null); notation.Confirm((Symbol)yyVal, Descriptor.XMLAttributes, yyVals[-1+yyTop]); } break; case 349: #line 1981 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLElement, yyVals[-5+yyTop], null); notation.Confirm((Symbol)yyVal, Descriptor.XMLNamespaces, yyVals[-3+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.XMLAttributes, yyVals[-1+yyTop]); } break; case 350: #line 1987 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLElement, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 351: #line 1991 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLElement, yyVals[-5+yyTop], yyVals[-1+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.XMLNamespaces, yyVals[-3+yyTop]); } break; case 352: #line 1996 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLElement, yyVals[-5+yyTop], yyVals[-1+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.XMLAttributes, yyVals[-3+yyTop]); } break; case 353: #line 2002 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.XMLElement, yyVals[-7+yyTop], yyVals[-1+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.XMLNamespaces, yyVals[-5+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.XMLAttributes, yyVals[-3+yyTop]); } break; case 354: #line 2011 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; } break; case 355: #line 2018 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 356: #line 2022 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 359: #line 2034 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.DeclNamespace, new Literal(yyVals[-2+yyTop]), yyVals[0+yyTop]); } break; case 360: #line 2042 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.SQLX), Descriptor.DeclNamespace, new Literal(yyVals[0+yyTop]), null); } break; case 361: #line 2047 "SQL92-min.y" { yyVal = null; } break; case 362: #line 2054 "SQL92-min.y" { yyVal = null; } break; case 363: #line 2058 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; } break; case 364: #line 2065 "SQL92-min.y" { yyVal = Lisp.Cons(yyVals[0+yyTop]); } break; case 365: #line 2069 "SQL92-min.y" { yyVal = Lisp.Append(yyVals[-2+yyTop], Lisp.Cons(yyVals[0+yyTop])); } break; case 367: #line 2077 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; notation.Confirm((Symbol)yyVal, Descriptor.ContentOption, yyVals[0+yyTop]); } break; case 368: #line 2082 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.TableFields), Descriptor.TableFields, yyVals[-1+yyTop]); } break; case 369: #line 2086 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.TableFields), Descriptor.TableFields, yyVals[-2+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.ContentOption, yyVals[0+yyTop]); } break; case 371: #line 2095 "SQL92-min.y" { yyVal = yyVals[-1+yyTop]; notation.Confirm((Symbol)yyVal, Descriptor.Alias, yyVals[0+yyTop]); } break; case 372: #line 2103 "SQL92-min.y" { yyVal = null; } break; case 374: #line 2111 "SQL92-min.y" { yyVal = new TokenWrapper(Token.PRESERVE_WHITESPACE); } break; case 375: #line 2115 "SQL92-min.y" { yyVal = new TokenWrapper(Token.STRIP_WHITESPACE); } break; case 376: #line 2122 "SQL92-min.y" { yyVal = new TokenWrapper(Token.OPTION_NULL); } break; case 377: #line 2126 "SQL92-min.y" { yyVal = new TokenWrapper(Token.OPTION_EMPTY); } break; case 378: #line 2130 "SQL92-min.y" { yyVal = new TokenWrapper(Token.OPTION_ABSENT); } break; case 379: #line 2134 "SQL92-min.y" { yyVal = new TokenWrapper(Token.OPTION_NIL); } break; case 380: #line 2138 "SQL92-min.y" { yyVal = new TokenWrapper(Token.NO_CONTENT); } break; case 383: #line 2150 "SQL92-min.y" { yyVal = notation.Confirm(new Symbol(Tag.Expr), Descriptor.Cast, yyVals[-3+yyTop], yyVals[-1+yyTop]); } break; case 384: #line 2158 "SQL92-min.y" { yyVal = null; } break; case 388: #line 2168 "SQL92-min.y" { yyVal = new TokenWrapper(yyVals[0+yyTop]); } break; case 390: #line 2176 "SQL92-min.y" { yyVal = new TokenWrapper(yyVals[0+yyTop]); } break; case 391: #line 2180 "SQL92-min.y" { yyVal = new TokenWrapper(yyVals[-3+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.Typelen, yyVals[-1+yyTop]); } break; case 399: #line 2198 "SQL92-min.y" { yyVal = new TokenWrapper(yyVals[0+yyTop]); } break; case 405: #line 2213 "SQL92-min.y" { yyVal = new TokenWrapper(yyVals[0+yyTop]); } break; case 406: #line 2217 "SQL92-min.y" { yyVal = new TokenWrapper(yyVals[-3+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.Typeprec, yyVals[-1+yyTop]); } break; case 407: #line 2222 "SQL92-min.y" { yyVal = new TokenWrapper(yyVals[-5+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.Typeprec, yyVals[-3+yyTop]); notation.Confirm((Symbol)yyVal, Descriptor.Typescale, yyVals[-1+yyTop]); } break; case 411: #line 2237 "SQL92-min.y" { yyVal = new TokenWrapper(Token.FLOAT); } break; case 412: #line 2241 "SQL92-min.y" { yyVal = new TokenWrapper(Token.FLOAT); notation.Confirm((Symbol)yyVal, Descriptor.Typeprec, yyVals[-1+yyTop]); } break; case 413: #line 2249 "SQL92-min.y" { yyVal = new Qname(yyVals[0+yyTop]); } break; #line default } yyTop -= yyLen[yyN]; yyState = yyStates[yyTop]; int yyM = yyLhs[yyN]; if (yyState == 0 && yyM == 0) { //t if (debug != null) debug.shift(0, yyFinal); yyState = yyFinal; if (yyToken < 0) { yyToken = yyLex.advance() ? yyLex.token() : 0; //t if (debug != null) //t debug.lex(yyState, yyToken,yyname(yyToken), yyLex.value()); } if (yyToken == 0) { //t if (debug != null) debug.accept(yyVal); return yyVal; } goto yyLoop; } if (((yyN = yyGindex[yyM]) != 0) && ((yyN += yyState) >= 0) && (yyN < yyTable.Length) && (yyCheck[yyN] == yyState)) yyState = yyTable[yyN]; else yyState = yyDgoto[yyM]; //t if (debug != null) debug.shift(yyStates[yyTop], yyState); goto yyLoop; } } }