DSL EXPRESSION:
  $sum = float(0);
  for(k,v in $*) {
    if (k =~ "^[xy]$") {
      $sum += float($[k])
    }
  }


AST:
"block" [tt:block] [nt:StatementBlock]
    "=" [tt:equals] [nt:Assignment]
        "$sum" [tt:field_name] [nt:DirectFieldValue]
        "float" [tt:kw_float] [nt:FunctionCallsite]
            "0" [tt:int_literal] [nt:int_literal]
    "for" [tt:kw_for] [nt:ForLoopTwoVariable]
        "k" [tt:non_sigil_name] [nt:LocalVariable]
        "v" [tt:non_sigil_name] [nt:LocalVariable]
        "$*" [tt:full_srec] [nt:FullSrec]
        "block" [tt:block] [nt:StatementBlockInBraces]
            "block" [tt:block] [nt:StatementBlock]
                "if_chain" [tt:if_chain] [nt:IfChain]
                    "if" [tt:kw_if] [nt:IfItem]
                        "=~" [tt:op_eqtilde] [nt:Operator]
                            "k" [tt:non_sigil_name] [nt:LocalVariable]
                            ""^[xy]$"" [tt:string_literal] [nt:string_literal]
                        "block" [tt:block] [nt:StatementBlockInBraces]
                            "block" [tt:block] [nt:StatementBlock]
                                "+=" [tt:op_plus_equals] [nt:CompoundAssignment]
                                    "$sum" [tt:field_name] [nt:DirectFieldValue]
                                    "+=" [tt:op_plus_equals] [nt:op_plus_equals]
                                    "float" [tt:kw_float] [nt:FunctionCallsite]
                                        "$[]" [tt:$[]] [nt:IndirectFieldValue]
                                            "k" [tt:non_sigil_name] [nt:LocalVariable]

a=pan,b=pan,i=1,x=0.34679014,y=0.72680286,sum=1.07359301
a=eks,b=pan,i=2,x=0.75867996,y=0.52215111,sum=1.28083107
a=wye,b=wye,i=3,x=0.20460331,y=0.33831853,sum=0.54292183
a=eks,b=wye,i=4,x=0.38139939,y=0.13418874,sum=0.51558814
a=wye,b=pan,i=5,x=0.57328892,y=0.86362447,sum=1.43691339
a=zee,b=pan,i=6,x=0.52712616,y=0.49322129,sum=1.02034745
a=eks,b=zee,i=7,x=0.61178406,y=0.18788492,sum=0.79966898
a=zee,b=wye,i=8,x=0.59855401,y=0.97618139,sum=1.57473539
a=hat,b=wye,i=9,x=0.03144188,y=0.74955076,sum=0.78099264
a=pan,b=wye,i=10,x=0.50262601,y=0.95261836,sum=1.45524437
