How to convert CFG with Kleene Star, Kleene Plus, and Question Mark to Chomsky Normal Form?
How do you do convert CFG's with Kleene Star/Plus, and question mark, to CNF?


I propose a two-step solution:


Convert your extra-notation-CFG to a normal CFG
Convert the normal CFG to CNF, e.g. as described on Wikipedia.


Do perform step 1, removing the extra notation, apply these rules:


Whenever $A^+$ occurs in a production rule, replace it with $AA^*$.
Whenever $A^*$ occurs in a production rule, replace it with a new non-terminal $B$ and add rules $B \rightarrow \varepsilon$ and $B \rightarrow AB$.
Whenever $A?$ occurs in a production rule, replace it with a new non-terminal $B$ and add rules $B \rightarrow \varepsilon$ and $B \rightarrow A$.


It should be relatively straightforward to see that the transformed versions of +,*,? repeat the argument k times, where k is in $\{1, \ldots\}$, $\{0, \ldots\}$ and $\{0, 1\}$, respectively; i.e. the rewritten version has the same meaning (language) as the input.

To perform step 2, read the Wikipedia article; it is reasonably straightforward (if a bit tedious) to translate this into an algorithm.