C# Class NArrange.Core.CodeParser

Base code parser implementation.
Inheritance: ICodeElementParser
Afficher le fichier Open project: MarcStan/NArrange

Protected Properties

Свойство Type Description
WhiteSpaceCharacters char[]

Méthodes publiques

Méthode Description
IsWhiteSpace ( char character ) : bool

Determines whether or not the specified character is whitespace.

Parse ( TextReader reader ) : ReadOnlyCollection

Parses a collection of code elements from a stream reader.

Méthodes protégées

Méthode Description
ApplyCommentsAndAttributes ( CodeElement codeElement, ReadOnlyCollection comments, ReadOnlyCollection attributes ) : void

Applies attributes and comments to a code element.

DoParseElements ( ) : List

Parses elements from the current point in the stream.

EatChar ( char character ) : void

Eats the specified character.

EatWhiteSpace ( ) : void

Reads until the next non-whitespace character is reached.

EatWhiteSpace ( WhiteSpaceTypes whiteSpaceType ) : void

Reads until the next non-whitespace character is reached.

GetCommentDirectiveText ( CommentElement comment, string pattern, string group ) : string

Gets text from a comment directive, if present.

OnParseError ( string message ) : void

Throws a parse error

PeekNextCharExcept ( char ignores ) : char

Peeks ahead in the reader until the first character not in the ignore list is found and returns it. If already at eof or only characters to be ignored are found until end then '\0' is returned.

ReadLine ( ) : string

Reads the current line. Does not update PreviousChar.

TryReadChar ( ) : bool

Tries to read any character from the stream and places it in the CurrentChar property.

TryReadChar ( char character ) : bool

Tries to read the specified character from the stream and update the CurrentChar property.

Private Methods

Méthode Description
Reset ( ) : void

Reset the parser to a state to handle parsing another input.

Method Details

ApplyCommentsAndAttributes() protected static méthode

Applies attributes and comments to a code element.
protected static ApplyCommentsAndAttributes ( CodeElement codeElement, ReadOnlyCollection comments, ReadOnlyCollection attributes ) : void
codeElement NArrange.Core.CodeElements.CodeElement Code element to apply to.
comments ReadOnlyCollection Comments to apply.
attributes ReadOnlyCollection Attributes to apply.
Résultat void

DoParseElements() protected abstract méthode

Parses elements from the current point in the stream.
protected abstract DoParseElements ( ) : List
Résultat List

EatChar() protected méthode

Eats the specified character.
protected EatChar ( char character ) : void
character char Character to eat.
Résultat void

EatWhiteSpace() protected méthode

Reads until the next non-whitespace character is reached.
protected EatWhiteSpace ( ) : void
Résultat void

EatWhiteSpace() protected méthode

Reads until the next non-whitespace character is reached.
protected EatWhiteSpace ( WhiteSpaceTypes whiteSpaceType ) : void
whiteSpaceType WhiteSpaceTypes Whitespace type flags.
Résultat void

GetCommentDirectiveText() protected méthode

Gets text from a comment directive, if present.
protected GetCommentDirectiveText ( CommentElement comment, string pattern, string group ) : string
comment NArrange.Core.CodeElements.CommentElement Comment element containing the directive.
pattern string Regular expression pattern.
group string Group key for the text to retrieve.
Résultat string

IsWhiteSpace() public static méthode

Determines whether or not the specified character is whitespace.
public static IsWhiteSpace ( char character ) : bool
character char Character to test.
Résultat bool

OnParseError() protected méthode

Throws a parse error
protected OnParseError ( string message ) : void
message string Parse error message.
Résultat void

Parse() public méthode

Parses a collection of code elements from a stream reader.
public Parse ( TextReader reader ) : ReadOnlyCollection
reader System.IO.TextReader Code stream reader
Résultat ReadOnlyCollection

PeekNextCharExcept() protected méthode

Peeks ahead in the reader until the first character not in the ignore list is found and returns it. If already at eof or only characters to be ignored are found until end then '\0' is returned.
protected PeekNextCharExcept ( char ignores ) : char
ignores char
Résultat char

ReadLine() protected méthode

Reads the current line. Does not update PreviousChar.
protected ReadLine ( ) : string
Résultat string

TryReadChar() protected méthode

Tries to read any character from the stream and places it in the CurrentChar property.
protected TryReadChar ( ) : bool
Résultat bool

TryReadChar() protected méthode

Tries to read the specified character from the stream and update the CurrentChar property.
protected TryReadChar ( char character ) : bool
character char Character to read.
Résultat bool

Property Details

WhiteSpaceCharacters protected_oe static_oe property

Whitepace characters.
protected static char[] WhiteSpaceCharacters
Résultat char[]