C# Class NArrange.Core.CodeParser

Base code parser implementation.
Inheritance: ICodeElementParser
Show file Open project: MarcStan/NArrange

Protected Properties

Property Type Description
WhiteSpaceCharacters char[]

Public Methods

Method 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.

Protected Methods

Method 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

Method Description
Reset ( ) : void

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

Method Details

ApplyCommentsAndAttributes() protected static method

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.
return void

DoParseElements() protected abstract method

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

EatChar() protected method

Eats the specified character.
protected EatChar ( char character ) : void
character char Character to eat.
return void

EatWhiteSpace() protected method

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

EatWhiteSpace() protected method

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

GetCommentDirectiveText() protected method

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.
return string

IsWhiteSpace() public static method

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

OnParseError() protected method

Throws a parse error
protected OnParseError ( string message ) : void
message string Parse error message.
return void

Parse() public method

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

PeekNextCharExcept() protected method

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
return char

ReadLine() protected method

Reads the current line. Does not update PreviousChar.
protected ReadLine ( ) : string
return string

TryReadChar() protected method

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

TryReadChar() protected method

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

Property Details

WhiteSpaceCharacters protected static property

Whitepace characters.
protected static char[] WhiteSpaceCharacters
return char[]