docs: function compile(code, options) {
          var output;
          options = options || {};
          options.requireModule = options.requireModule || requireModule;
          var ast = parse(code, options.modules || [], options);
          if (options.readableNames) {
              ast = optimizeHygiene(ast);
          }
          if (options.ast) {
              return ast;
          }
          if (options.sourceMap) {
              output = codegen.generate(ast, _.extend({
                  comment: true,
                  sourceMap: options.filename,
                  sourceMapWithCode: true
              }, options.escodegen));
              return {
                  code: output.code,
                  sourceMap: output.map.toString()
              };
          }
          return { code: codegen.generate(ast, _.extend({ comment: true }, options.escodegen)) };
      }