anchor.diff:    sink.write(toCondition(alphaNum));
     sink.writeln(';');
   
  +  sink.close();
   }
   
   void main() {
  
positive.code:       upper.add(code);
        alpha.add(code);
        alphaNum.add(code);
        break;
  
      case 'Lm':
      case 'Lo':
        alpha.add(code);
        alphaNum.add(code);
        break;
  
      case 'Mc':
  
negative.code:   List<int> alpha = <int>[];
    List<int> alphaNum = <int>[];
  
    var testFile = new File('test/unicode-test.dart');
  
    IOSink ts = testFile.openWrite();
    ts.writeln("// This file is autogenerated. Do not edit.");
    ts.writeln();
    ts.writeln("import '../lib/parsec.dart';");
    ts.writeln();
    ts.writeln("void main() {");
  
    lines.forEach((String line) {
      List<String> data = line.split(';');
      int code = int.parse(data[0], radix: 16);
      String cls = data[2];
  
      List<String> params = <String>[code.toString()];
  
      switch (cls) {
      case 'Zs':
        spaces.add(code);
        params.add('s:true');
        break;
  
      case 'Ll':
        lower.add(code);
        alpha.add(code);
        alphaNum.add(code);
        params.addAll(['l:true', 'a:true', 'an:true']);
        break;
  
      case 'Lu':
  