Content


NTL
Core
ILexic

ILexic


Interface describes language lexic.

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

class ILexic :public virtual IReleasable
{
public:
    virtual bool IsSpace(const wchar_t chr) = 0; // Return whether specified character is space or not 
    virtual bool IsNewLine(const wchar_t chr) = 0; // Return whether specified character is line feed or not 
    virtual bool IsIdentifier(const wchar_t chr) = 0; // Return whether specified character is allowed in identifier or not 
    virtual bool IsIdentifierNotStart(const wchar_t chr) = 0; // Return whether specified character is allowed in identifier but not as start of the one or not 
    virtual bool IsIdentifierNotAll(const wchar_t chr) = 0; // Return whether specified character is allowed in identifier but not all the characters of the one or not 
    virtual bool IsIdentifierBoundary(const wchar_t chr) = 0; // Return whether specified character is not a part of identifier 

    virtual size_t Escape(const size_t index) = 0; // Return index + 2 if character is \ or index otherwise. Used to parse strings having escaped symbols equal to enclosed ones (like ' or "). For example: "Say \"Hello\" to him" 
};
Namespace: nitisa::script
Include: Nitisa/Modules/Script/Interfaces/ILexic.h