compile(content, sourceName = '<compileSource>',
      outputName = '<compileOutput>', sourceRoot = undefined) {

    sourceName = this.normalize(sourceName);
    outputName = this.normalize(outputName);
    let tree = this.parse(content, sourceName);
    tree = this.transform(tree, sourceName);
    // Attach the sourceURL only if the input and output names differ.
    let sourceURL = sourceName !== outputName ? sourceName : undefined;
    // The sourceRoot argument takes precidence over the option.
    if (sourceRoot === undefined)
      sourceRoot = this.options_.sourceRoot;

    return this.write(tree, outputName, sourceRoot, sourceURL);
  }
Compile ES6 source code with Traceur.

@param {string} content ES6 source code.
@param {string} sourceName
@param {string} outputName
@param {string} sourceRoot defaults to dir of outputName
@return {string} equivalent ES5 source.