Early research by John von Neumann established that one common form of a replicator has several parts:
A genome, a compact, usually error-resistant representation of the replicator's stored algorithm.[citation needed]  Biologically, this is DNA.
A specialized set of mechanisms to copy and repair the genome, using resources gathered by the body.  Biologically, this is something like transcriptase.
A body, which gathers resources and energy, and interprets a stored algorithm.  Biologically, these are ribosomes.
Exceptions to this pattern are possible.  For example, scientists have successfully constructed RNA that copies itself in an "environment" that is a solution of RNA monomers and transcriptase.  In this case, the body is the genome, and the specialized copy mechanisms are external.
However, the simplest possible case is that only a genome exists.  Without some specification of the<unk> -reproducing steps, a genome-only system is probably better characterized as something like a crystal.
Recent research  has begun to categorize replicators, often based on the amount of support they require.
Natural replicators have all or most of their design from nonhuman sources. Such systems include natural life forms.
Autotrophic replicators can reproduce themselves "in the wild".  They mine their own materials.  It is conjectured that non-biological autotrophic replicators could be designed by humans, and could easily accept specifications for human products.<unk> -reproductive systems are conjectured systems which would produce copies of themselves from industrial feedstocks such as metal bar and wire.<unk> -assembling systems assemble copies of themselves from finished, delivered parts. Simple examples of such systems have been demonstrated at the macro scale.
The design space for machine replicators is very broad.  A comprehensive study to date by Robert Freitas and Ralph Merkle has identified 137 design dimensions grouped into a dozen separate categories, including: (1)<unk>  Control, (2)<unk>  Information, (3)<unk>  Substrate, (4) Replicator Structure, (5) Passive Parts, (6) Active Subunits, (7) Replicator Energetics, (8) Replicator Kinematics, (9)<unk>  Process, (10) Replicator Performance, (11) Product Structure, and (12) Evolvability.
In computer science a<unk> -reproducing computer program is a computer program that, when executed, outputs its own code.  This is also called a quine.
Here is an example program in the Python programming language:
A more trivial approach is to write a program that will make a copy of any stream of data that it is directed to, and then direct it at itself. In this case the program is treated as both executable code, and as data to be manipulated.
This approach is common in most<unk> g systems, including biological life, and is simpler in that it does not require the program to contain a complete description of itself.
In many programming languages an empty program is still a legal program, which executes without producing errors or any other output. The output is thus the same as the source code, so the program is trivially<unk> -reproducing.
In geometry a<unk> g tiling is a tiling pattern in which several congruent tiles may be joined together to form a larger tile that is similar to the original.  This is an aspect of the field of study known as tessellation.  The "sphinx" hexiamond is the only known<unk> g pentagon.  For example, four such concave pentagons can be joined together to make one with twice the dimensions. Solomon W. Golomb coined the term Rep-tiles for<unk> g tilings.
It is a long-term goal of some engineering sciences to achieve a clanking replicator, a material device that can<unk> -replicate.  The usual reason is to achieve a low cost per item while retaining the utility of a manufactured good.  Many authorities say that in the limit, the cost of<unk> g items should approach the cost-per-weight of wood or other biological substances, because<unk>  avoids the costs of labor, capital and distribution in conventional manufactured goods.
A fully novel artificial replicator is a reasonable near-term goal.
A NASA study recently placed the complexity of a clanking replicator at approximately that of an Intel's Pentium 4 CPU.  That is, the technology is achievable with a relatively small engineering group in a reasonable commercial time-scale at a reasonable cost.
Given the currently keen interest in biotechnology and the high levels of funding in that field, attempts to exploit the replicative ability of existing cells are timely, and may easily lead to significant insights and advances.
A variation of<unk>  is of practical relevance in compiler construction, where a similar chicken and egg problem occurs as in natural<unk> . A compiler (phenotype) can be applied on the compiler's own source code (genotype) producing the compiler itself. During compiler development, a modified (mutated) source is used to create the next generation of the compiler. This process differs from natural<unk>  in that the process is directed by an engineer, not by the subject itself.
Self-replication
Mitotic crossover
Thermal depolymerization
Carrier generation and recombination
Radical polymerization
Reverse transcription
Somatic hypermutation
Splicing 