Similar to other quine puzzles (more specifically, this one), write a program that produces the source for itself.
Here's the new twist: The code produced should NOT be identical to the source. Rather, it should output a different program that will create the first.
The challenge linked to above achieved that by jumping between two languages. I'm thinking this one would be done in just one language, but the two (or more) versions of the source should be significantly different (see rules below). With this constraint, single character answers would be disallowed, thus requiring a little more thought be put into a final submission.
RULES
- Your code must be produced in just one language. (Multiple submissions, one for each language is perfectly acceptable.)
- Your different code versions must be syntactically distinct. In other words, if you were to draw out an abstract syntax tree for your code, there should be at least one node different.
- Supplying an AST will not be necessary, but if you feel inclined to provide one for each of your programs, it would help in judging.
- You may produce as many iterations as you wish, as long as they all remain syntactically distinct. (More will help your score, see below.)
SCORING
Your final score will be the mean length of all your programs, divided by the number of programs.
Example 1:
A (source for B) = 50 characters
B (source for A) = 75 characters
Final Score = 31.25
Example 2:
A (source for B) = 50 characters
B (source for C) = 75 characters
C (source for A) = 100 characters
Final Score = 25