DSL EXPRESSION:
  if (NR == 28) {
    $x = 29;
    $y = 30
  } elif (NR == 31) {
    $x = 32;
    $y = 33
  } elif (NR == 34) {
    $x = 35;
    $y = 36
  } elif (NR == 37) {
    $x = 38;
    $y = 39
  } else {
    $x = 1040;
    $y = 1041
  }


AST:
"block" [tt:block] [nt:StatementBlock]
    "if_chain" [tt:if_chain] [nt:IfChain]
        "if" [tt:kw_if] [nt:IfItem]
            "==" [tt:op_eqeq] [nt:Operator]
                "NR" [tt:ctx_NR] [nt:ctx_NR]
                "28" [tt:int_literal] [nt:int_literal]
            "block" [tt:block] [nt:StatementBlockInBraces]
                "block" [tt:block] [nt:StatementBlock]
                    "=" [tt:equals] [nt:Assignment]
                        "$x" [tt:field_name] [nt:DirectFieldValue]
                        "29" [tt:int_literal] [nt:int_literal]
                    "=" [tt:equals] [nt:Assignment]
                        "$y" [tt:field_name] [nt:DirectFieldValue]
                        "30" [tt:int_literal] [nt:int_literal]
        "elif" [tt:kw_elif] [nt:IfItem]
            "==" [tt:op_eqeq] [nt:Operator]
                "NR" [tt:ctx_NR] [nt:ctx_NR]
                "31" [tt:int_literal] [nt:int_literal]
            "block" [tt:block] [nt:StatementBlockInBraces]
                "block" [tt:block] [nt:StatementBlock]
                    "=" [tt:equals] [nt:Assignment]
                        "$x" [tt:field_name] [nt:DirectFieldValue]
                        "32" [tt:int_literal] [nt:int_literal]
                    "=" [tt:equals] [nt:Assignment]
                        "$y" [tt:field_name] [nt:DirectFieldValue]
                        "33" [tt:int_literal] [nt:int_literal]
        "elif" [tt:kw_elif] [nt:IfItem]
            "==" [tt:op_eqeq] [nt:Operator]
                "NR" [tt:ctx_NR] [nt:ctx_NR]
                "34" [tt:int_literal] [nt:int_literal]
            "block" [tt:block] [nt:StatementBlockInBraces]
                "block" [tt:block] [nt:StatementBlock]
                    "=" [tt:equals] [nt:Assignment]
                        "$x" [tt:field_name] [nt:DirectFieldValue]
                        "35" [tt:int_literal] [nt:int_literal]
                    "=" [tt:equals] [nt:Assignment]
                        "$y" [tt:field_name] [nt:DirectFieldValue]
                        "36" [tt:int_literal] [nt:int_literal]
        "elif" [tt:kw_elif] [nt:IfItem]
            "==" [tt:op_eqeq] [nt:Operator]
                "NR" [tt:ctx_NR] [nt:ctx_NR]
                "37" [tt:int_literal] [nt:int_literal]
            "block" [tt:block] [nt:StatementBlockInBraces]
                "block" [tt:block] [nt:StatementBlock]
                    "=" [tt:equals] [nt:Assignment]
                        "$x" [tt:field_name] [nt:DirectFieldValue]
                        "38" [tt:int_literal] [nt:int_literal]
                    "=" [tt:equals] [nt:Assignment]
                        "$y" [tt:field_name] [nt:DirectFieldValue]
                        "39" [tt:int_literal] [nt:int_literal]
        "else" [tt:kw_else] [nt:IfItem]
            "block" [tt:block] [nt:StatementBlockInBraces]
                "block" [tt:block] [nt:StatementBlock]
                    "=" [tt:equals] [nt:Assignment]
                        "$x" [tt:field_name] [nt:DirectFieldValue]
                        "1040" [tt:int_literal] [nt:int_literal]
                    "=" [tt:equals] [nt:Assignment]
                        "$y" [tt:field_name] [nt:DirectFieldValue]
                        "1041" [tt:int_literal] [nt:int_literal]

i=1,x=1040,y=1041
i=2,x=1040,y=1041
i=3,x=1040,y=1041
i=4,x=1040,y=1041
i=5,x=1040,y=1041
i=6,x=1040,y=1041
i=7,x=1040,y=1041
i=8,x=1040,y=1041
i=9,x=1040,y=1041
i=10,x=1040,y=1041
i=11,x=1040,y=1041
i=12,x=1040,y=1041
i=13,x=1040,y=1041
i=14,x=1040,y=1041
i=15,x=1040,y=1041
i=16,x=1040,y=1041
i=17,x=1040,y=1041
i=18,x=1040,y=1041
i=19,x=1040,y=1041
i=20,x=1040,y=1041
i=21,x=1040,y=1041
i=22,x=1040,y=1041
i=23,x=1040,y=1041
i=24,x=1040,y=1041
i=25,x=1040,y=1041
i=26,x=1040,y=1041
i=27,x=1040,y=1041
i=28,x=29,y=30
i=29,x=1040,y=1041
i=30,x=1040,y=1041
i=31,x=32,y=33
i=32,x=1040,y=1041
i=33,x=1040,y=1041
i=34,x=35,y=36
i=35,x=1040,y=1041
i=36,x=1040,y=1041
i=37,x=38,y=39
i=38,x=1040,y=1041
i=39,x=1040,y=1041
i=40,x=1040,y=1041
