 for(var it=0; it < n; ++it) {
        Q = Q.replace(/complex\(a,b\)/g, '(' + Q + ')');
      }
      return Q;
    }
    / Complex

  Complex
    = "<" _ a:Real _ "," _ b:Real _ ">" { return 'complex(' + a + ',' + b + ')'; }
    / "z"     { return 'complex(a,b)'; }
    / "i"     { return 'complex(0.0,1.0)'; }
    / a:Real  { return 'complex(' + a + ',0.0)'; }

  Real
    = whole:Integer "." fractional:Integer { return '' + whole + '.' + fractional; }
    / whole:Integer { return '' + whole + '.0'; }
    / 