C# Класс HtmlLexicalAnalyzer, swganhclientlauncher

lexical analyzer class recognizes tokens as groups of characters separated by arbitrary amounts of whitespace also classifies tokens according to type
Показать файл Открыть проект Примеры использования класса

Private Properties

Свойство Тип Описание
GetNextAtomToken void
GetNextCharacter void
GetNextContentToken void
GetNextEqualSignToken void
GetNextTagToken void
HtmlLexicalAnalyzer System
IsCombiningCharacter bool
IsExtender bool
IsGoodForName bool
IsGoodForNameStart bool
ReadComment void
ReadDynamicContent void
ReadLookAheadCharacter void
ReadUnknownDirective void
SkipProcessingDirective void
SkipWhiteSpace void

Приватные методы

Метод Описание
GetNextAtomToken ( ) : void

Unconditionally returns an atomic value for an attribute Even if there is no appropriate token it returns Atom value Does not guarantee token reader advancing.

GetNextCharacter ( ) : void

Advances a reading position by one character code and reads the next availbale character from a stream. This character becomes available as NextCharacter property.

Throws InvalidOperationException if attempted to be called on EndOfStream condition.

GetNextContentToken ( ) : void

retrieves next recognizable token from input string and identifies its type if no valid token is found, the output parameters are set to null if end of stream is reached without matching any token, token type paramter is set to EOF

GetNextEqualSignToken ( ) : void

Unconditionally returns equal sign token. Even if there is no real equal sign in the stream, it behaves as if it were there. Does not guarantee token reader advancing.

GetNextTagToken ( ) : void

Unconditionally returns a token which is one of: TagEnd, EmptyTagEnd, Name, Atom or EndOfStream Does not guarantee token reader advancing.

HtmlLexicalAnalyzer ( string inputTextString ) : System

initializes the _inputStringReader member with the string to be read also sets initial values for _nextCharacterCode and _nextTokenType

IsCombiningCharacter ( char character ) : bool

identifies a character as being a combining character, permitted in a name TODO: only a placeholder for now but later to be replaced with comparisons against the list of combining characters in the XML documentation

IsExtender ( char character ) : bool

identifies a character as being an extender, permitted in a name TODO: only a placeholder for now but later to be replaced with comparisons against the list of extenders in the XML documentation

IsGoodForName ( char character ) : bool

checks if a character can be used as a non-starting character in a name uses the IsExtender and IsCombiningCharacter predicates to see if a character is an extender or a combining character

IsGoodForNameStart ( char character ) : bool

checks if a character can be used to start a name if this check is true then the rest of the name can be read

ReadComment ( ) : void

skips comments starting with '' NOTE: 10/06/2004: processing changed, will now skip anything starting with the "" or "->", because in practice many html pages do not use the full comment specifying conventions

ReadDynamicContent ( ) : void

skips dynamic content starting with ''

ReadLookAheadCharacter ( ) : void
ReadUnknownDirective ( ) : void

skips past unknown directives that start with "" character applies to directives such as DOCTYPE, etc that we do not presently support

SkipProcessingDirective ( ) : void

skips processing directives starting with the characters '' NOTE: 10/14/2004: IE also ends processing directives with a />, so this function is being modified to recognize that condition as well

SkipWhiteSpace ( ) : void

skips whitespace in the input string leaves the first non-whitespace character available in the NextCharacter property this may be the end-of-file character, it performs no checking