DSL EXPRESSION:
for(k,v in $*) {if (k != "x") {unset $[k]}}; $j = NR


AST:
"block" [tt:block] [nt:StatementBlock]
    "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_ne] [nt:Operator]
                            "k" [tt:non_sigil_name] [nt:LocalVariable]
                            ""x"" [tt:string_literal] [nt:string_literal]
                        "block" [tt:block] [nt:StatementBlockInBraces]
                            "block" [tt:block] [nt:StatementBlock]
                                "unset" [tt:kw_unset] [nt:Unset]
                                    "$[]" [tt:$[]] [nt:IndirectFieldValue]
                                        "k" [tt:non_sigil_name] [nt:LocalVariable]
    "=" [tt:equals] [nt:Assignment]
        "$j" [tt:field_name] [nt:DirectFieldValue]
        "NR" [tt:ctx_NR] [nt:ctx_NR]

x=0.34679014,j=1
x=0.75867996,j=2
x=0.20460331,j=3
x=0.38139939,j=4
x=0.57328892,j=5
x=0.52712616,j=6
x=0.61178406,j=7
x=0.59855401,j=8
x=0.03144188,j=9
x=0.50262601,j=10
