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