Generate tex from .q files to enable SP orga to create questions in the Q-format in the first place

If anyone wrote a simple script (Python would be great, but if it's short you can use something else too) to generate something like

$ cat singlechoice.tex
\subsubexercise[points=2,pointbox=true]{Was versteht man unter einer Unterbrechung bei der Ausführung von Instruktionen durch einen Prozessor?}
\begin{singlechoice}[randomized]
	\wrong   {Der Prozessor wird veranlasst eine Unterbrechungsbehandlung durchzuführen. Der gerade laufende Prozess kann die Unterbrechungsbehandlung ignorieren.}
	\wrong   {Durch eine Signalleitung wird der Prozessor veranlasst, die gerade bearbeitete Maschineninstruktion zu unterbrechen und in den Benutzermodus umzuschalten.}
	\wrong   {Eine Signalleitung teilt dem Prozessor mit, dass er den aktuellen Prozess anhalten und auf das Ende der Unterbrechung warten soll.} 
	\correct {Mit einer Signalleitung wird dem Prozessor eine Unterbrechung angezeigt. Der Prozessor sichert den aktuellen Zustand bestimmter Register, insbesondere des Programmzählers, und springt eine vordefinierte Behandlungsfunktion an.}
\end{singlechoice}

\subsubexercise[points=2,pointbox=true]{Welche der folgenden Aussagen trifft auf
das Programmfragment zu?}
\begin{lstlisting}
	int f1 (const int *y) {
		static int b;
		char *d = malloc(2407);
		int (*e)(const int *) = f1;
		b += *y;
		y++;
		return b;
	}
\end{lstlisting}
\begin{singlechoice}[randomized]
	\wrong   {Die Anweisung \texttt{y++} führt zu einem Laufzeitfehler, da \texttt{y} konstant ist.}
	\wrong   {Die Speicherstelle, auf die d zeigt, verliert beim Rücksprung aus der Funktion f1() ihre Gültigkeit.}
	\correct {Die Variable e liegt im Stacksegment und zeigt auf eine Stelle im Textsegment.}
	\wrong   {Die Variable b liegt im Stacksegment.}
\end{singlechoice}

and

$ cat multichoice.tex
\subsubexercise[points=4,pointbox=true]{ Man unterscheidet zwischen Traps und
Interrupts. Welche der folgenden Aussagen ist richtig?}
\begin{multichoice}[randomized]
	\correct {Der Zugriff auf eine logische Adresse kann zu einem Trap führen.}
	\correct {Ein Programm darf im Rahmen einer Trapbehandlung abgebrochen werden.}
	\correct {Die CPU sichert bei einem Interrupt einen Teil des Prozessorzustands.}
	\correct {Der Zugriff auf eine virtuelle Adresse kann zu einem Trap führen.}

	\wrong {Der Zugriff auf eine physikalische Adresse kann keinen Trap auslösen.}
	\wrong {Ganzzahl-Rechenoperationen können nicht zu einem Trap führen.}
	\wrong {Weil das Betriebssystem nicht vorhersagen kann, wann ein Prozess einen Systemaufruf tätigt, sind Systemaufrufe in die Kategorie Interrupt einzuordnen.}
	\wrong {Rechenoperationen können zu einem Interrupt führen.}
\end{multichoice}

from the .q files, I think SP orga would be open to writing the exam questions in the .q format in the first place and contributing them to the quiz after the exam. I can not make guarantees, but I think that should be easily possible.

What's the suggested way to add editor support for the Q files?

Edited by Luis Gerhorst
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information