DSL EXPRESSION:
begin {@count=0; @sum=0.0}; @count=@count+1; @sum=@sum+$x; end{@mean=@sum/@count; emitf @mean}


AST:
* statement block
    * begin block
        * statement block
            * assignment "="
                * direct oosvar value "count"
                * int literal "0"
            * assignment "="
                * direct oosvar value "sum"
                * float literal "0.0"
    * assignment "="
        * direct oosvar value "count"
        * operator "+"
            * direct oosvar value "count"
            * int literal "1"
    * assignment "="
        * direct oosvar value "sum"
        * operator "+"
            * direct oosvar value "sum"
            * direct field value "x"
    * end block
        * statement block
            * assignment "="
                * direct oosvar value "mean"
                * operator "/"
                    * direct oosvar value "sum"
                    * direct oosvar value "count"
            * emitf statement "emitf"
                * emittable list
                    * direct oosvar value "mean"
                * no-op

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

mean
0.45362938
