WSF
WsfParseScriptScanner Class Reference

#include <WsfParseScriptScanner.hpp>

Collaboration diagram for WsfParseScriptScanner:

Public Types

enum  TokenCode {
  cTC_DUMMY , cTC_IDENTIFIER , cTC_NUMBER , cTC_STRING ,
  cTC_EOF , cTC_ERROR , cTC_LEFT_PAREN , cTC_RIGHT_PAREN ,
  cTC_LEFT_BRACKET , cTC_RIGHT_BRACKET , cTC_LEFT_BRACE , cTC_RIGHT_BRACE ,
  cTC_COLON , cTC_SEMICOLON , cTC_COMMA , cTC_PERIOD ,
  cTC_PLUS , cTC_MINUS , cTC_STAR , cTC_POUND ,
  cTC_SLASH , cTC_LESS_THAN , cTC_LESS_EQUAL , cTC_GREATER_THAN ,
  cTC_GREATER_EQUAL , cTC_EQUAL_TO , cTC_NOT_EQUAL , cTC_AND ,
  cTC_OR , cTC_NOT , cTC_EQUAL , cTC_START_OF_RESERVED_WORDS ,
  cTC_CASE , cTC_CONST , cTC_DO , cTC_ELSE ,
  cTC_FOR , cTC_FOREACH , cTC_IF , cTC_NULL ,
  cTC_WHILE , cTC_BREAK , cTC_RETURN , cTC_CONTINUE ,
  cTC_TRUE , cTC_FALSE , cTC_PRINT , cTC_WRITE ,
  cTC_WRITE_LINE , cTC_WRITE_D , cTC_WRITE_LINE_FATAL , cTC_WRITE_LINE_ERROR ,
  cTC_WRITE_LINE_WARNING , cTC_WRITE_LINE_DEBUG , cTC_WRITE_LINE_D , cTC_WRITE_LINE_DEVELOPER ,
  cTC_WRITE_STR , cTC_READ , cTC_SCRIPT , cTC_FUNCTION ,
  cTC_INT , cTC_BOOL , cTC_CHAR , cTC_STR ,
  cTC_DOUBLE , cTC_VOID , cTC_TYPE , cTC_GLOBAL ,
  cTC_STATIC , cTC_EXTERN , cTC_IN
}
 Enumerations for each specific possible token type. More...
enum  CharCode {
  cCC_LETTER , cCC_DIGIT , cCC_SPECIAL , cCC_QUOTE ,
  cCC_WHITE_SPACE , cCC_LINE_FEED , cCC_EOF , cCC_ERROR
}

Public Member Functions

 WsfParseScriptScanner ()
void Prime (const UtTextDocumentRange &aInput)
const WsfParseScriptTokenGet ()
const WsfParseScriptTokenPeek ()

Public Attributes

std::set< std::string > mScriptClassTypes

Protected Types

enum  State {
  cNORMAL , cNUMBER , cNUMBER_DECIMAL , cNUMBER_EXPONENT ,
  cSINGLE_QUOTE , cDOUBLE_QUOTE , cIDENTIFIER , cLINE_COMMENT ,
  cBLOCK_COMMENT
}

Protected Member Functions

void ReadToken (WsfParseScriptToken &aToken)
void SkipWhiteSpace ()
void SetToken (WsfParseScriptToken &aToken, char *aBeginPtr, char *aEndPtr, int aTokenCode)
void SetToken (WsfParseScriptToken &aToken, char *aBeginPtr, int aLength, int aTokenCode)
void Ch ()
void GetCh ()
void BackCh ()

Protected Attributes

UtTextDocument * mSourcePtr
WsfParseScriptToken mTok
WsfParseScriptToken mNextTok
char * mChBegin
char * mChIter
char * mChEnd
ptrdiff_t mOffset
CharCode mCharCodeMap [128]
 Maps a character to its code.
char ch
CharCode cc
std::map< std::string, TokenCodemReservedWordMap

Member Enumeration Documentation

◆ CharCode

Enumeration for each possible character type the scanner may encounter.

Enumerator
cCC_LETTER 
cCC_DIGIT 
cCC_SPECIAL 
cCC_QUOTE 
cCC_WHITE_SPACE 
cCC_LINE_FEED 
cCC_EOF 
cCC_ERROR 

◆ State

Enumerator
cNORMAL 
cNUMBER 
cNUMBER_DECIMAL 
cNUMBER_EXPONENT 
cSINGLE_QUOTE 
cDOUBLE_QUOTE 
cIDENTIFIER 
cLINE_COMMENT 
cBLOCK_COMMENT 

◆ TokenCode

Enumerations for each specific possible token type.

Enumerator
cTC_DUMMY 
cTC_IDENTIFIER 
cTC_NUMBER 
cTC_STRING 
cTC_EOF 
cTC_ERROR 
cTC_LEFT_PAREN 
cTC_RIGHT_PAREN 
cTC_LEFT_BRACKET 
cTC_RIGHT_BRACKET 
cTC_LEFT_BRACE 
cTC_RIGHT_BRACE 
cTC_COLON 
cTC_SEMICOLON 
cTC_COMMA 
cTC_PERIOD 
cTC_PLUS 
cTC_MINUS 
cTC_STAR 
cTC_POUND 
cTC_SLASH 
cTC_LESS_THAN 
cTC_LESS_EQUAL 
cTC_GREATER_THAN 
cTC_GREATER_EQUAL 
cTC_EQUAL_TO 
cTC_NOT_EQUAL 
cTC_AND 
cTC_OR 
cTC_NOT 
cTC_EQUAL 
cTC_START_OF_RESERVED_WORDS 
cTC_CASE 
cTC_CONST 
cTC_DO 
cTC_ELSE 
cTC_FOR 
cTC_FOREACH 
cTC_IF 
cTC_NULL 
cTC_WHILE 
cTC_BREAK 
cTC_RETURN 
cTC_CONTINUE 
cTC_TRUE 
cTC_FALSE 
cTC_PRINT 
cTC_WRITE 
cTC_WRITE_LINE 
cTC_WRITE_D 
cTC_WRITE_LINE_FATAL 
cTC_WRITE_LINE_ERROR 
cTC_WRITE_LINE_WARNING 
cTC_WRITE_LINE_DEBUG 
cTC_WRITE_LINE_D 
cTC_WRITE_LINE_DEVELOPER 
cTC_WRITE_STR 
cTC_READ 
cTC_SCRIPT 
cTC_FUNCTION 
cTC_INT 
cTC_BOOL 
cTC_CHAR 
cTC_STR 
cTC_DOUBLE 
cTC_VOID 
cTC_TYPE 
cTC_GLOBAL 
cTC_STATIC 
cTC_EXTERN 
cTC_IN 

Constructor & Destructor Documentation

◆ WsfParseScriptScanner()

Member Function Documentation

◆ BackCh()

void WsfParseScriptScanner::BackCh ( )
inlineprotected

References Ch(), and mChIter.

◆ Ch()

void WsfParseScriptScanner::Ch ( )
inlineprotected

References cc, cCC_EOF, ch, mCharCodeMap, mChEnd, and mChIter.

Referenced by BackCh(), and GetCh().

◆ Get()

const WsfParseScriptToken & WsfParseScriptScanner::Get ( )

References mNextTok, mTok, ReadToken(), and std::swap().

Referenced by Prime().

◆ GetCh()

void WsfParseScriptScanner::GetCh ( )
inlineprotected

References Ch(), and mChIter.

Referenced by Prime(), and ReadToken().

◆ Peek()

const WsfParseScriptToken & WsfParseScriptScanner::Peek ( )

References mNextTok.

◆ Prime()

void WsfParseScriptScanner::Prime ( const UtTextDocumentRange & aInput)

◆ ReadToken()

◆ SetToken() [1/2]

void WsfParseScriptScanner::SetToken ( WsfParseScriptToken & aToken,
char * aBeginPtr,
char * aEndPtr,
int aTokenCode )
protected

◆ SetToken() [2/2]

void WsfParseScriptScanner::SetToken ( WsfParseScriptToken & aToken,
char * aBeginPtr,
int aLength,
int aTokenCode )
protected

◆ SkipWhiteSpace()

void WsfParseScriptScanner::SkipWhiteSpace ( )
protected

Member Data Documentation

◆ cc

CharCode WsfParseScriptScanner::cc
protected

◆ ch

char WsfParseScriptScanner::ch
protected

◆ mCharCodeMap

CharCode WsfParseScriptScanner::mCharCodeMap[128]
protected

Maps a character to its code.

Referenced by Ch(), and WsfParseScriptScanner().

◆ mChBegin

char* WsfParseScriptScanner::mChBegin
protected

◆ mChEnd

char* WsfParseScriptScanner::mChEnd
protected

◆ mChIter

char* WsfParseScriptScanner::mChIter
protected

◆ mNextTok

WsfParseScriptToken WsfParseScriptScanner::mNextTok
protected

Referenced by Get(), and Peek().

◆ mOffset

ptrdiff_t WsfParseScriptScanner::mOffset
protected

◆ mReservedWordMap

std::map<std::string, TokenCode> WsfParseScriptScanner::mReservedWordMap
protected

Referenced by ReadToken(), and WsfParseScriptScanner().

◆ mScriptClassTypes

std::set<std::string> WsfParseScriptScanner::mScriptClassTypes

Referenced by ReadToken(), and WsfParseScriptScanner().

◆ mSourcePtr

UtTextDocument* WsfParseScriptScanner::mSourcePtr
protected

◆ mTok

WsfParseScriptToken WsfParseScriptScanner::mTok
protected

Referenced by Get().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved