C# Class LexicalAnalysis.FSAChar

The FSA for scanning a C character. Note that this FSA doesn't scan the surrounding quotes. It is used in both FSACharConst and FSAString. There are multiple ways to represent a character: * A normal character : any character other than \\ \n or [quote] Note that [quote] might be \' or \" depending on the context. For example, inside a String, single quote are allowed, which means that the following code is legal: Char *str = "single quote here: ' see that?"; However, if we need a double quote inside a String, we have to use an escape character, like this: Char *str = "double quote needs to be escaped: \" "; Inside a Char, double quotes are allowed while single quotes need to be escaped. Char double_quote = '"'; // allowed Char single_quote = '\''; // needs to be escaped * An escape character : \a \b \f \n \r \t \v \' \" \\ \? Note that even though \' and \" might not needs to be escaped, you can always use them as escaped. If you escape a character not listed above, the behavior is undefined in the standard. I'll just assume you need the unescaped character. For example, if you typed '\c', then I'll just treat it as 'c'. * An octal number after a backslash. For example : \123. * A hexadecimal number after a backslash and an 'x' or 'X'. FOr example : \xFF.
Inheritance: FSA
显示文件 Open project: phisiart/C-Compiler Class Usage Examples

Public Methods

Method Description
FSAChar ( Char quote ) : System
GetStatus ( ) : FSAStatus
ReadChar ( Char ch ) : void
ReadEOF ( ) : void
Reset ( ) : void
RetrieveChar ( ) : Char
RetrieveRaw ( ) : String
RetrieveToken ( ) : Token

Private Methods

Method Description
IsChar ( Char ch ) : System.Boolean

Method Details

FSAChar() public method

public FSAChar ( Char quote ) : System
quote Char
return System

GetStatus() public method

public GetStatus ( ) : FSAStatus
return FSAStatus

ReadChar() public method

public ReadChar ( Char ch ) : void
ch Char
return void

ReadEOF() public method

public ReadEOF ( ) : void
return void

Reset() public method

public Reset ( ) : void
return void

RetrieveChar() public method

public RetrieveChar ( ) : Char
return Char

RetrieveRaw() public method

public RetrieveRaw ( ) : String
return String

RetrieveToken() public method

public RetrieveToken ( ) : Token
return Token