Content


NTL
Core
CTokenizer

CTokenizer



Class implements base tokenizer functionality. Can be used as base class only.

You can find more information in comments below. Overrided methods can be found in corresponding base class or interface.

class CTokenizer :public virtual ITokenizer, public CReleasable
{
protected:
    IReader *m_pReader; // Pointer to source reader or nullptr 
    IParser *m_pParserOperator; // Pointer to operator parser or nullptr 
    IParser *m_pParserString; // Pointer to string parser or nullptr 
    IParser *m_pParserBinary; // Pointer to binary number parser or nullptr 
    IParser *m_pParserOctal; // Pointer to octal number parser or nullptr 
    IParser *m_pParserHexadecimal; // Pointer to hexadecimal number parser or nullptr 
    IParser *m_pParserNumeric; // Pointer to numerical value parser or nullptr 
    IParser *m_pParserIdentifier; // Pointer to identifier parser or nullptr 
    Groups m_aSkipGroups;

    CTokenizer(const Groups &skip_groups = {}); // Constructor 
public:
    void setSkipGroups(const Groups &skip_groups);

    // ITokenizer methods 
    bool Next(size_t &index, Token &token) override;
    bool Next(size_t &index, Tokens &tokens) override;
};
Namespace: nitisa::script
Include: Nitisa/Modules/Script/Core/Tokenizer.h