Used_in The definition of C++ [ c++.syntax.html ]. Used_in The definition of Java [ java.syntax.html ] Notation This uses my XBNF Extended BNF Notation where | indicates or, (...) indicates priority. For more information see [ intro_ebnf.html ].
To look at it in another way: Thymine(uracil in RNA) and cytosine are pyrimidines. Pyrimidines are single-ringed organic base that will only attach to purines, or adenine and guanine by hydrogen bond. Because cytosine and thymine are both pyrimidines, it cannot form a hydrogen bond with each other.
Purines and pyrimidines are two of the building blocks of nucleic acids. Only two purines and three pyrimidines occur widely in nucleic acids. Here are their structures in organic chemists' line notation: The Purines Adenine Guanine The Pyrimidines Cytosine Thymine Uracil.