Content


NTL
Core
Operator

Operator


Structure representing operator description.

You can find more information in comments below.

struct Operator
{
    // Parsing related properties 
    String Name; // Operator sequence 
    String Close; // Close sequence for block operator 
    StringKeyValue Replace; // Key-value pair to replace inside block (like { \", " }) 
    bool RequireSpace; // Whether space should be before and after operator 
    bool Sequence; // Whether operator is a sequence and can be closed either by "Close" sequence of by new line 
    bool Multiline; // Whether block operator can be closed by "Close" sequence only 
    uint Group; // Group identifier indicating whether operators withing the same group should be treated as one token 
    // Expression related properties 
    bool Normal; // Whether operator can be a normal, connecting two arguments, operator 
    bool Block; // Whether operator defines block. Block close operator should be specified in "Close" member 
    bool Prior; // Whether operator can be used as prior-modification operator (like ++ in "++i" expression) 
    bool Posterior; // Whether operator can be used as posterior-modification operator (like ++ in "i++" expression) 
    bool AllowPrior; // Whether prior operator is allowed before this one 
    bool AllowPosterior; // Whether posterior operator is allowed after this one 
    byte Precedence; // Mathematical precedence. Highest one is 0 
};
Namespace: nitisa::script
Include: Nitisa/Modules/Script/Core/Operator.h