anchor.diff:  
   Future<void> main(List<String> args) async {
     ArgResults options;
  -
     try {
       options = _argParser.parse(args);
   
  
positive.code:     exitCode = compilerExitCode;
      return;
    }
  
    final String output = options['output'];
    final String dataDir = options.options.contains('component-name')
        ? options['component-name']
        : options['data-dir'];
    final String manifestFilename = options['manifest'];
  
    if (manifestFilename != null) {
      await createManifest(manifestFilename, dataDir, output);
    }
  }
  
  Future createManifest(
      String packageManifestFilename, String dataDir, String output) async {
    List<String> packages = await File('$output-packages').readAsLines();
  
    // Make sure the 'main' package is the last (convention with package loader).
    packages.remove('main');
    packages.add('main');
  
    final IOSink packageManifest = File(packageManifestFilename).openWrite();
  
    final String kernelListFilename = '$packageManifestFilename.dilplist';
    final IOSink kernelList = File(kernelListFilename).openWrite();
    for (String package in packages) {
      final String filenameInPackage = '$package.dilp';
      final String filenameInBuild = '$output-$package.dilp';
      packageManifest
          .write('data/$dataDir/$filenameInPackage=$filenameInBuild\n');
      kernelList.write('$filenameInPackage\n');
    }
    await kernelList.close();
  
    final String frameworkVersionFilename =
        '$packageManifestFilename.frameworkversion';
    final IOSink frameworkVersion = File(frameworkVersionFilename).openWrite();
    for (String package in [
      'collection',
      'flutter',
      'meta',
      'typed_data',
      'vector_math'
    ]) {
      Digest digest;
      if (packages.contains(package)) {
        final filenameInBuild = '$output-$package.dilp';
        final bytes = await File(filenameInBuild).readAsBytes();
        digest = sha256.convert(bytes);
      }
      frameworkVersion.write('$package=$digest\n');
    }
    await frameworkVersion.close();
  
    packageManifest.write('data/$dataDir/app.dilplist=$kernelListFilename\n');
    packageManifest
        .write('data/$dataDir/app.frameworkversion=$frameworkVersionFilename\n');
    await packageManifest.close();
  }
  
negative.code: final ArgParser _argParser = createCompilerArgParser()
    ..addFlag('train',
        help: 'Run through sample command line to produce snapshot',
        negatable: false);
  
  String _usage = '''
  Usage: compiler [options] input.dart
  