This challenge is similar to Can you Meta Quine?
A quine is a program that produces itself on STDOUT. This challenge is to produce a program A which when run produces a program B on STDOUT. Program B when run produces program A on STDOUT. Programs A and B must be written in (and run in) the same language. The linked question constrained A != B. That looked too easy. So for this question, we insist A and B are antiquines, using the following rules:
- Programs A and B may not use any of the same characters, save for whitespace and statement separators, and punctuation characters.
- Programs A and B must each contain at least one character that is neither whitespace nor a statement separator, nor a punctuation character.
- For the purpose of rules 1 and 2, the term 'whitespace' excludes any symbol or sequence of symbols which itself is a statement, operator or symbol that is interpreted (as opposed to a separator). Therefore in the Whitespace language, there is no whitespace.
- A statement separator is a syntactic element conventionally used within the language to separate statements. This would include the newline in python, or the semicolon in Java, perl or C.
- A punctuation character is an ASCII character which is neither whitespace nor in the POSIX word character class (i.e. an underscore is not punctuation for this purpose) - i.e
ispunct()would return true, and it's not
- Program A when run must produce a program (Program B) on its STDOUT, which when run in turn produces Program A.
- Programs A and B must be in the same programming language.
- The programming language used must actually be a programming language. Unless you make a good case otherwise, I'll suggest it must be Turing complete.
- At least one of A and B must execute at least one statement within the language.
This is code golf, so the shortest answer wins, the score being the length of program A in bytes (i.e. the length of program B is not relevant).