Quines, obtained by construction from Kleene's recursion theorem
http://en.wikipedia.org/wiki/Quine_%28computing%29

Copyright (c) 2011 David Monniaux

The acceptable system of programming considered is a subset of Java
class NameNotImportant {
   ...

   public static String run(String x) {
     ...
   }
}

The "run" function may have several arguments.

Invoke.java: contains an eval(x, y) function for evaluating program x
on input y (that is, call the run(...) function in the class defined
by x on input y). It needs to be run from a Java Development Kit, for it
uses the Java compiler. For the sake of expediency, it writes files
QuineGenxxxx which it compiles to classes, and loads these classes.

Quine.java: implementation of s-n-m, composition, etc.; not needed for
the rest.

JavaUtil.java: a string escape function.

RecursionTheorem.java: when executed, outputs a Quine (save it to
Recursor.java); needs RecursionG.java and ToPrinter.java.