IronKonoha.KonohaSpace.defineDefaultSyntax C# (CSharp) Méthode

defineDefaultSyntax() private méthode

private defineDefaultSyntax ( ) : void
Résultat void
        private void defineDefaultSyntax()
        {
            KDEFINE_SYNTAX[] syntaxes =
            {
                new KDEFINE_SYNTAX(){
                    name = "$ERR",
                    flag = SynFlag.StmtBreakExec,
                },
                new KDEFINE_SYNTAX(){
                    name = "$expr",
                    rule = "$expr",
                    ParseStmt = ParseStmt_Expr,
                    TopStmtTyCheck = TopStmtTyCheck_Expr,
                    ExprTyCheck = ExprTyCheck_Expr,
                    kw = KeywordType.Expr,
                },
                new KDEFINE_SYNTAX(){
                    name = "$SYMBOL",
                    ParseStmt = ParseStmt_Symbol,
                    kw = KeywordType.Symbol,
                    flag = SynFlag.ExprTerm,
                },
                new KDEFINE_SYNTAX(){
                    name = "$USYMBOL",
                    ParseStmt = ParseStmt_Usymbol,
                    kw = KeywordType.Usymbol,
                    flag = SynFlag.ExprTerm,
                },
                new KDEFINE_SYNTAX(){
                    name = "$TEXT",
                    ExprTyCheck = ExprTyCheck_Text,
                    kw = KeywordType.Text,
                    flag = SynFlag.ExprTerm,
                },
                new KDEFINE_SYNTAX(){
                    name = "$INT",
                    ExprTyCheck = ExprTyCheck_Int,
                    kw = KeywordType.TKInt,
                    flag = SynFlag.ExprTerm,
                },
                new KDEFINE_SYNTAX(){
                    name = "$FLOAT",
                    ExprTyCheck = ExprTyCheck_Float,
                    kw = KeywordType.TKFloat,
                    flag = SynFlag.ExprTerm,
                },
                new KDEFINE_SYNTAX(){
                    name = "$type",
                    rule = "$type $expr",
                    ParseStmt = ParseStmt_Type,
                    kw = KeywordType.Type,
                    flag = SynFlag.ExprTerm,
                },
                new KDEFINE_SYNTAX(){
                    name = "()",
                    kw = KeywordType.Parenthesis,
                    ParseExpr = ParseExpr_Parenthesis,
                    priority_op2 = 16,
                    flag = SynFlag.ExprPostfixOp2,
                },
                new KDEFINE_SYNTAX(){
                    name = "[]",
                    kw = KeywordType.Brancet,
                    priority_op2 = 16,
                    flag = SynFlag.ExprPostfixOp2,
                },
                new KDEFINE_SYNTAX(){
                    name = "{}",
                    kw = KeywordType.Brace,
                    priority_op2 = 16,
                    flag = SynFlag.ExprPostfixOp2,
                },
                new KDEFINE_SYNTAX(){
                    name = "$block",
                    kw = KeywordType.Block,
                    ParseStmt = ParseStmt_Block,
                    ExprTyCheck = ExprTyCheck_Block,
                },
                new KDEFINE_SYNTAX(){
                    name = "$params",
                    kw = KeywordType.Params,
                    ParseStmt = ParseStmt_Params,
                    TopStmtTyCheck = TopStmtTyCheck_ParamsDecl,
                    ExprTyCheck = ExprTyCheck_MethodCall,
                },
                new KDEFINE_SYNTAX(){
                    name = "$toks",
                    kw = KeywordType.Toks,
                    ParseStmt = ParseStmt_Toks,
                },
                new KDEFINE_SYNTAX(){
                    name = ".",
                    priority_op2 = 16,
                    kw = KeywordType.DOT,
                    ParseExpr = ParseExpr_Dot,
                },
                new KDEFINE_SYNTAX(){
                    name = "/",
                    op2 = "opDIV",
                    priority_op2 = 32,
                    kw = KeywordType.DIV,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = "%",
                    op2 = "opMOD",
                    priority_op2 = 32,
                    kw = KeywordType.MOD,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = "*",
                    op2 = "opMUL",
                    priority_op2 = 32,
                    kw = KeywordType.MUL,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = "+",
                    op1 = "opPLUS",
                    op2 = "opADD",
                    priority_op2 = 64,
                    kw = KeywordType.ADD,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = "-",
                    op1 = "opMINUS",
                    op2 = "opSUB",
                    priority_op2 = 64,
                    kw = KeywordType.SUB,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = "<",
                    op2 = "opLT",
                    priority_op2 = 256,
                    kw = KeywordType.LT,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = "<=",
                    op2 = "opLTE",
                    priority_op2 = 256,
                    kw = KeywordType.LTE,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = ">",
                    op2 = "opGT",
                    priority_op2 = 256,
                    kw = KeywordType.GT,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = ">=",
                    op2 = "opGTE",
                    priority_op2 = 256,
                    kw = KeywordType.GTE,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = "==",
                    op2 = "opEQ",
                    priority_op2 = 512,
                    kw = KeywordType.EQ,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = "!=",
                    op2 = "opNEQ",
                    priority_op2 = 512,
                    kw = KeywordType.NEQ,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = "&&",
                    op2 = "opAND",
                    priority_op2 = 1024,
                    kw = KeywordType.AND,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = "||",
                    op2 = "opOR",
                    priority_op2 = 2048,
                    kw = KeywordType.OR,
                    flag = SynFlag.ExprOp,
                },
                new KDEFINE_SYNTAX(){
                    name = "=",
                    priority_op2 = 4096,
                    flag = SynFlag.ExprLeftJoinOp2,
                },
                new KDEFINE_SYNTAX(){
                    name = ",",
                    op2 = "*",
                    priority_op2 = 8192,
                },
                new KDEFINE_SYNTAX(){
                    name = "$",
                },
                new KDEFINE_SYNTAX(){
                    name = "void",
                    rule = "$type [$USYMBOL \".\"] $SYMBOL $params [$block]",
                    ParseStmt = ParseStmt_Type,
                    kw = KeywordType.StmtMethodDecl,
                    type = KonohaType.Void,
                },
                new KDEFINE_SYNTAX(){
                    name = "int",
                    ParseStmt = ParseStmt_Type,
                    kw = KeywordType.Type,
                    type = KonohaType.Int,
                },
                new KDEFINE_SYNTAX(){
                    name = "boolean",
                    ParseStmt = ParseStmt_Type,
                    kw = KeywordType.Type,
                    type = KonohaType.Boolean,
                },
                new KDEFINE_SYNTAX(){
                    name = "null",
                    kw = KeywordType.Null,
                    flag = SynFlag.ExprTerm,
                },
                new KDEFINE_SYNTAX(){
                    name = "true",
                    kw = KeywordType.True,
                    flag = SynFlag.ExprTerm,
                },
                new KDEFINE_SYNTAX(){
                    name = "false",
                    kw = KeywordType.False,
                    flag = SynFlag.ExprTerm,
                },
                new KDEFINE_SYNTAX(){
                    name = "else",
                    kw = KeywordType.Else,
                    rule = "\"else\" $block",
                },
                new KDEFINE_SYNTAX(){
                    name = "if",
                    kw = KeywordType.If,
                    rule = "\"if\" \"(\" $expr \")\" $block [\"else\" else: $block]",
                },
                new KDEFINE_SYNTAX(){
                    name = "return",
                    kw = KeywordType.Return,
                    rule = "\"return\" [$expr]",
                    flag = SynFlag.StmtBreakExec,
                },
            };
            defineSyntax(syntaxes);
        }