C# Class QUT.Gplex.Parser.CharacterUtilities

This class supplies character escape utilities for project.
Exibir arquivo Open project: spark-shading-language/spark Class Usage Examples

Public Methods

Method Description
Canonicalize ( string source, int startIndex ) : string

Take a possibly escaped character literal and convert it to a canonical form. Thus @"'\377'", @"'\xff'" and @"'\u00FF'" all return @"'\xFF'". Throws a StringInterpretException if character ordinal exceeds "symLimit".

InterpretCharacterEscapes ( string source ) : string

This static method expands characters in a literal string, returning a modified string with character escapes replaced by the character which they denote. This includes characters outside the BMP which return a pair of surrogate characters.

InterpretEscapesInVerbatimString ( string source ) : string

This static method expands characters in a verbatim string, returning a modified string with character escapes replaced by the character which they denote.

Map ( int code ) : string

Map literal characters into the display form

Map ( string source ) : string
MapForCharSet ( int code ) : string

Same as Map(code) except '-' must be escaped.

OrdinalOfCharLiteral ( string source, int offset ) : int

Take the string representation of a possibly backslash- escaped character literal and return the character ordinal. Throws a StringInterpretException if character ordinal exceeds "symLimit".

QuoteMap ( int code ) : string
QuoteMap ( string source ) : string
SetUnicode ( ) : void

Private Methods

Method Description
CodePoint ( string pattern, int &index ) : int
EscapedChar ( string source, int &index ) : int
GetHexadecimalChar ( string str ) : int
GetOctalChar ( string str ) : int

Assert: special case of '\0' is already filtered out.

GetSubstring ( string input, int ix, int len ) : string

Get a substring of length len from the input string input, starting from the index ix. If there are not len characters left return rest of string.

GetUnicodeChar ( string str ) : int
HexChar ( char a, char b ) : char

This assumes that a,b are HexDigit characters

HiSurrogate ( int codePoint ) : char
IsHexDigit ( char ch ) : bool
IsOctDigit ( char ch ) : bool
LoSurrogate ( int codePoint ) : char
OctChar ( char a, char b, char c ) : char
StrMap ( int chr ) : string

Map string characters into the display form

ValOfHex ( char x ) : int

Method Details

Canonicalize() public static method

Take a possibly escaped character literal and convert it to a canonical form. Thus @"'\377'", @"'\xff'" and @"'\u00FF'" all return @"'\xFF'". Throws a StringInterpretException if character ordinal exceeds "symLimit".
public static Canonicalize ( string source, int startIndex ) : string
source string
startIndex int
return string

InterpretCharacterEscapes() public static method

This static method expands characters in a literal string, returning a modified string with character escapes replaced by the character which they denote. This includes characters outside the BMP which return a pair of surrogate characters.
public static InterpretCharacterEscapes ( string source ) : string
source string
return string

InterpretEscapesInVerbatimString() public static method

This static method expands characters in a verbatim string, returning a modified string with character escapes replaced by the character which they denote.
public static InterpretEscapesInVerbatimString ( string source ) : string
source string
return string

Map() public static method

Map literal characters into the display form
public static Map ( int code ) : string
code int
return string

Map() public static method

public static Map ( string source ) : string
source string
return string

MapForCharSet() public static method

Same as Map(code) except '-' must be escaped.
public static MapForCharSet ( int code ) : string
code int Unicode codepoint
return string

OrdinalOfCharLiteral() public static method

Take the string representation of a possibly backslash- escaped character literal and return the character ordinal. Throws a StringInterpretException if character ordinal exceeds "symLimit".
public static OrdinalOfCharLiteral ( string source, int offset ) : int
source string
offset int start index of character
return int

QuoteMap() public static method

public static QuoteMap ( int code ) : string
code int
return string

QuoteMap() public static method

public static QuoteMap ( string source ) : string
source string
return string

SetUnicode() public static method

public static SetUnicode ( ) : void
return void