[I know this is a very late entry, but I think this is really relevant].
The smallest self-compiling compiler I know about is Val Schorre's 1963 MetaII compiler. Yes, from Nineteen Sixty Three.
(There's a link on that page to his technical paper on the topic).
If you like compilers, run to get this paper; its a gas, and its only 10 pages.
This isn't theory; this is practical. His paper provides with the compiler source code (some 20-30 lines IIRC), a description of metacompiling machinery, and a metacompiled program processes the source code and regenerates the exact same metacompiled program. You can replicate this result yourself in 1-2 days of really fun if not mind boggling codeing to implement the metamachine. [I learned to build compilers from this paper back in 1970 by doing exactly this].
Or, you can go play with a modern tutorial on MetaII that has it all prebuilt in JavaScript.
Once you have this metacompiler running, you can extend the syntax and the metamachine easily to bootstrap to larger metacompilers with more features, and/or to generate compilers for real applications. (I built a Pascal like BASIC compiler this way in the early 70s).
You can go the other way: you can start taking things out, and see how much you can remove and still be able to boostrap back up to the MetaII level. I did this once and managed to get rid of about 30% without losing cability or even a lot of expressive power; it dropped to some 20 lines of text and, remarkably, a simpler meta-machine.
A clever fellow named Doug Michels, associated a long time ago with the 1980s (Unix supplier) Santa Cruz Operation, told me that he had gone considerably further and reduced the metacompiler self description to a very small number of characters. I never saw the work so I don't really know how far he got.
[EDIT] Dig, dig, dig... found this gem (on Linkedin):
Bill McKeeman, Adjunct Faculty at Dartmouth said:
Doug was my undergraduate student; his senior thesis assignment was simple: write the shortest, extendable, self-compiling compiler. The front end took 27 characters; the whole thing took 63. It all fit on one IBM card. He published the result.
Dig, dig, dig some more: This seems to be Doug's 27 character paper. See Figure 2. By "front end", McKeeman apparantly means "just the parser"; the paper contains full translators that are a little larger.
You can't get compilers this small unless they are "conceptually simple".