DSL EXPRESSION:
while($i < 5) { $i += 1}


AST:
"block" [tt:block] [nt:StatementBlock]
    "while" [tt:kw_while] [nt:WhileLoop]
        "<" [tt:op_lt] [nt:Operator]
            "$i" [tt:field_name] [nt:DirectFieldValue]
            "5" [tt:int_literal] [nt:int_literal]
        "block" [tt:block] [nt:StatementBlockInBraces]
            "block" [tt:block] [nt:StatementBlock]
                "+=" [tt:op_plus_equals] [nt:CompoundAssignment]
                    "$i" [tt:field_name] [nt:DirectFieldValue]
                    "+=" [tt:op_plus_equals] [nt:op_plus_equals]
                    "1" [tt:int_literal] [nt:int_literal]

a=pan,b=pan,i=5,x=0.34679014,y=0.72680286
a=eks,b=pan,i=5,x=0.75867996,y=0.52215111
a=wye,b=wye,i=5,x=0.20460331,y=0.33831853
a=eks,b=wye,i=5,x=0.38139939,y=0.13418874
a=wye,b=pan,i=5,x=0.57328892,y=0.86362447
a=zee,b=pan,i=6,x=0.52712616,y=0.49322129
a=eks,b=zee,i=7,x=0.61178406,y=0.18788492
a=zee,b=wye,i=8,x=0.59855401,y=0.97618139
a=hat,b=wye,i=9,x=0.03144188,y=0.74955076
a=pan,b=wye,i=10,x=0.50262601,y=0.95261836
