DSL EXPRESSION:
begin{@ox="no"}; $d=@ox == "no" ? 1.0 : $x/@ox; @ox=$x


AST:
"block" [tt:block] [nt:StatementBlock]
    "begin" [tt:kw_begin] [nt:BeginBlock]
        "block" [tt:block] [nt:StatementBlockInBraces]
            "block" [tt:block] [nt:StatementBlock]
                "=" [tt:equals] [nt:Assignment]
                    "@ox" [tt:oosvar_name] [nt:DirectOosvarValue]
                    ""no"" [tt:string_literal] [nt:string_literal]
    "=" [tt:equals] [nt:Assignment]
        "$d" [tt:field_name] [nt:DirectFieldValue]
        "?" [tt:op_ternary] [nt:Operator]
            "==" [tt:op_eqeq] [nt:Operator]
                "@ox" [tt:oosvar_name] [nt:DirectOosvarValue]
                ""no"" [tt:string_literal] [nt:string_literal]
            "1.0" [tt:float_literal] [nt:float_literal]
            "/" [tt:op_slash] [nt:Operator]
                "$x" [tt:field_name] [nt:DirectFieldValue]
                "@ox" [tt:oosvar_name] [nt:DirectOosvarValue]
    "=" [tt:equals] [nt:Assignment]
        "@ox" [tt:oosvar_name] [nt:DirectOosvarValue]
        "$x" [tt:field_name] [nt:DirectFieldValue]

a   b   i  x          y          d           x_ratio
pan pan 1  0.34679014 0.72680286 1.00000000  1
eks pan 2  0.75867996 0.52215111 2.18772066  2.18772066
wye wye 3  0.20460331 0.33831853 0.26968329  0.26968329
eks wye 4  0.38139939 0.13418874 1.86409204  1.86409204
wye pan 5  0.57328892 0.86362447 1.50311964  1.50311964
zee pan 6  0.52712616 0.49322129 0.91947732  0.91947732
eks zee 7  0.61178406 0.18788492 1.16060273  1.16060273
zee wye 8  0.59855401 0.97618139 0.97837464  0.97837464
hat wye 9  0.03144188 0.74955076 0.05252972  0.05252972
pan wye 10 0.50262601 0.95261836 15.98587814 15.98587814
