text: /* @flow */
  
  import { parse } from './parser/index'
  import { optimize } from './optimizer'
  import { generate } from './codegen/index'
  import { createCompilerCreator } from './create-compiler'
  
  // `createCompilerCreator` allows creating compilers that use alternative
  // parser/optimizer/codegen, e.g the SSR optimizing compiler.
  // Here we just export a default compiler using the default parts.
  export const createCompiler = createCompilerCreator(function baseCompile(
      template: string,
      options: CompilerOptions
  ): CompiledResult {
      const ast = parse(template.trim(), options)
      if (options.optimize !== false) {
          optimize(ast, options)
      }
      const code = generate(ast, options)
      return {
          ast,
          render: code.render,
          staticRenderFns: code.staticRenderFns
      }
  })
  