Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataWeb / Server / System / Data / Services / Parsing / Token.cs / 1305376 / Token.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a type to represent a parsed token. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Parsing { using System; using System.Diagnostics; ///Use this class to represent a lexical token. [DebuggerDisplay("{Id} @ {Position}: [{Text}]")] internal struct Token { ///Token representing gt keyword internal static readonly Token GreaterThan = new Token { Text = ExpressionConstants.KeywordGreaterThan, Id = TokenId.Identifier, Position = 0 }; ///Token representing eq keyword internal static readonly Token EqualsTo = new Token { Text = ExpressionConstants.KeywordEqual, Id = TokenId.Identifier, Position = 0 }; ///Token representing lt keyword internal static readonly Token LessThan = new Token { Text = ExpressionConstants.KeywordLessThan, Id = TokenId.Identifier, Position = 0 }; ///Kind of token. internal TokenId Id; ///Token text. internal string Text; ///Position of token. internal int Position; ///Checks whether this token is a comparison operator. internal bool IsComparisonOperator { get { if (this.Id != TokenId.Identifier) { return false; } return this.Text == ExpressionConstants.KeywordEqual || this.Text == ExpressionConstants.KeywordNotEqual || this.Text == ExpressionConstants.KeywordLessThan || this.Text == ExpressionConstants.KeywordGreaterThan || this.Text == ExpressionConstants.KeywordLessThanOrEqual || this.Text == ExpressionConstants.KeywordGreaterThanOrEqual; } } ///Checks whether this token is an equality operator. internal bool IsEqualityOperator { get { return this.Id == TokenId.Identifier && (this.Text == ExpressionConstants.KeywordEqual || this.Text == ExpressionConstants.KeywordNotEqual); } } ///Checks whether this token is a valid token for a key value. internal bool IsKeyValueToken { get { return this.Id == TokenId.BinaryLiteral || this.Id == TokenId.BooleanLiteral || this.Id == TokenId.DateTimeLiteral || this.Id == TokenId.GuidLiteral || this.Id == TokenId.StringLiteral || ExpressionLexer.IsNumeric(this.Id); } } ///Provides a string representation of this token. ///String representation of this token. public override string ToString() { return String.Format(System.Globalization.CultureInfo.InvariantCulture, "{0} @ {1}: [{2}]", this.Id, this.Position, this.Text); } ///Gets the current identifier text. ///The current identifier text. internal string GetIdentifier() { if (this.Id != TokenId.Identifier) { throw DataServiceException.CreateSyntaxError(Strings.RequestQueryParser_IdentifierExpected(this.Position)); } return this.Text; } ///Checks that this token has the specified identifier. /// Identifier to check. ///true if this is an identifier with the specified text. internal bool IdentifierIs(string id) { return this.Id == TokenId.Identifier && this.Text == id; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // //// Provides a type to represent a parsed token. // // // @owner [....] //--------------------------------------------------------------------- namespace System.Data.Services.Parsing { using System; using System.Diagnostics; ///Use this class to represent a lexical token. [DebuggerDisplay("{Id} @ {Position}: [{Text}]")] internal struct Token { ///Token representing gt keyword internal static readonly Token GreaterThan = new Token { Text = ExpressionConstants.KeywordGreaterThan, Id = TokenId.Identifier, Position = 0 }; ///Token representing eq keyword internal static readonly Token EqualsTo = new Token { Text = ExpressionConstants.KeywordEqual, Id = TokenId.Identifier, Position = 0 }; ///Token representing lt keyword internal static readonly Token LessThan = new Token { Text = ExpressionConstants.KeywordLessThan, Id = TokenId.Identifier, Position = 0 }; ///Kind of token. internal TokenId Id; ///Token text. internal string Text; ///Position of token. internal int Position; ///Checks whether this token is a comparison operator. internal bool IsComparisonOperator { get { if (this.Id != TokenId.Identifier) { return false; } return this.Text == ExpressionConstants.KeywordEqual || this.Text == ExpressionConstants.KeywordNotEqual || this.Text == ExpressionConstants.KeywordLessThan || this.Text == ExpressionConstants.KeywordGreaterThan || this.Text == ExpressionConstants.KeywordLessThanOrEqual || this.Text == ExpressionConstants.KeywordGreaterThanOrEqual; } } ///Checks whether this token is an equality operator. internal bool IsEqualityOperator { get { return this.Id == TokenId.Identifier && (this.Text == ExpressionConstants.KeywordEqual || this.Text == ExpressionConstants.KeywordNotEqual); } } ///Checks whether this token is a valid token for a key value. internal bool IsKeyValueToken { get { return this.Id == TokenId.BinaryLiteral || this.Id == TokenId.BooleanLiteral || this.Id == TokenId.DateTimeLiteral || this.Id == TokenId.GuidLiteral || this.Id == TokenId.StringLiteral || ExpressionLexer.IsNumeric(this.Id); } } ///Provides a string representation of this token. ///String representation of this token. public override string ToString() { return String.Format(System.Globalization.CultureInfo.InvariantCulture, "{0} @ {1}: [{2}]", this.Id, this.Position, this.Text); } ///Gets the current identifier text. ///The current identifier text. internal string GetIdentifier() { if (this.Id != TokenId.Identifier) { throw DataServiceException.CreateSyntaxError(Strings.RequestQueryParser_IdentifierExpected(this.Position)); } return this.Text; } ///Checks that this token has the specified identifier. /// Identifier to check. ///true if this is an identifier with the specified text. internal bool IdentifierIs(string id) { return this.Id == TokenId.Identifier && this.Text == id; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- InstanceDataCollection.cs
- WebResourceUtil.cs
- DeviceContexts.cs
- JapaneseLunisolarCalendar.cs
- SendKeys.cs
- RelatedPropertyManager.cs
- Wildcard.cs
- CheckBoxAutomationPeer.cs
- PropertyMap.cs
- DataRelationCollection.cs
- CacheMemory.cs
- TransportSecurityProtocolFactory.cs
- CodeDirectionExpression.cs
- _FtpControlStream.cs
- WebReferencesBuildProvider.cs
- Operator.cs
- ReliableInputConnection.cs
- DataAdapter.cs
- UnmanagedBitmapWrapper.cs
- XmlValidatingReader.cs
- XPathItem.cs
- CardSpaceException.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- CollaborationHelperFunctions.cs
- OdbcReferenceCollection.cs
- PtsContext.cs
- ELinqQueryState.cs
- SystemWebSectionGroup.cs
- Point3DIndependentAnimationStorage.cs
- SmiSettersStream.cs
- TemplateKeyConverter.cs
- TagPrefixAttribute.cs
- XmlSerializer.cs
- HandlerMappingMemo.cs
- FileSystemWatcher.cs
- Types.cs
- SByteStorage.cs
- StickyNoteAnnotations.cs
- ConfigurationStrings.cs
- ColorTransformHelper.cs
- PeerEndPoint.cs
- Reference.cs
- SoapMessage.cs
- Rect3D.cs
- TraversalRequest.cs
- ImportContext.cs
- StaticSiteMapProvider.cs
- FormViewDeletedEventArgs.cs
- OutputScopeManager.cs
- InstanceNotFoundException.cs
- ImageAutomationPeer.cs
- SeekStoryboard.cs
- Point3D.cs
- ColumnMap.cs
- StringValueSerializer.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- localization.cs
- ExceptionCollection.cs
- RelationshipDetailsRow.cs
- ObjectStateFormatter.cs
- DataGridViewRowConverter.cs
- WebExceptionStatus.cs
- DateTimeValueSerializer.cs
- RelationshipDetailsCollection.cs
- Version.cs
- UITypeEditor.cs
- MruCache.cs
- ArrangedElementCollection.cs
- TransformerConfigurationWizardBase.cs
- RowType.cs
- MachineKey.cs
- DrawingContextDrawingContextWalker.cs
- ToolboxItemCollection.cs
- GraphicsPathIterator.cs
- FixedHighlight.cs
- TextEditorThreadLocalStore.cs
- ClonableStack.cs
- QilXmlWriter.cs
- OdbcConnectionString.cs
- XmlDataSource.cs
- MsmqAppDomainProtocolHandler.cs
- DataGridViewButtonColumn.cs
- CodeNamespace.cs
- PropertyCollection.cs
- DockPanel.cs
- DoubleLinkListEnumerator.cs
- FilteredAttributeCollection.cs
- WebCodeGenerator.cs
- ProxySimple.cs
- WebServiceErrorEvent.cs
- RequiredFieldValidator.cs
- RegexInterpreter.cs
- WindowsListViewItemStartMenu.cs
- SymbolType.cs
- ErrorHandlerModule.cs
- RadioButton.cs
- Int16KeyFrameCollection.cs
- CodeDomComponentSerializationService.cs
- Odbc32.cs
- PrintPageEvent.cs