Well, it does seem like a nice idea to have a QC compiler that runs on OSX (and command-line apps like that ought to be just a case of recompiling) but why don't we write it in the most cross-platform format: console scripts:
//create short alias commands for the maps we want to run
alias map01 "map e1m1"
alias map02 "map e2m2"
alias map03 "map e3m3"
alias map04 "map e4m4"
alias map05 "map dm5"
alias map06 "map dm6"
//create a looping sequence of aliases
//each one redefines rand_select to be one of the above commands
//each one also defines the rand_cycle to move to the next state
alias rand_cycle01 "alias rand_cycle rand_cycle02; alias rand_select map01"
alias rand_cycle02 "alias rand_cycle rand_cycle03; alias rand_select map02"
alias rand_cycle03 "alias rand_cycle rand_cycle04; alias rand_select map03"
alias rand_cycle04 "alias rand_cycle rand_cycle05; alias rand_select map04"
alias rand_cycle05 "alias rand_cycle rand_cycle06; alias rand_select map05"
alias rand_cycle06 "alias rand_cycle rand_cycle01; alias rand_select map06"
//run the first alias to intialise rand_cycle
rand_cycle01
//add a key to repeatedly hammer to simulate randomness
bind F7 rand_cycle
//bind the key that loads the next map
bind F8 "rand_select;rand_cycle"
Usage: press F7 a few dozen times to seed the "random" selection, then press F8 to select one of the maps. If you extend the list, take care to ensure that the rand_cycleXX aliases create a full loop, so edit 06 to point at 07 and ensure the final one points back at 01 instead.
My model was the file from:
https://github.com/BenDoan/TF2-Config/blob/master/shittalk.cfg
This example has an extra layer using "wait" to make the randomness work better - in this one you hold down a key for a period of time to repeatedly cycle, then when you release it a selection is made. I tried to emulate this but in fitzquake it got stuck. Maybe other engines support a route to this...
An easier way to get the randomness without having to mash a key is to add the rand_cycle command to some other often used key, like the attack button:
bind mouse1 "+attack;rand_cycle"
Now the number of attacks you make on one map seeds the selection of the next, which feels pretty random. Eagle-eyed readers might have spotted that we did this trick with the F8 key already. This makes the F8 key cycles through the maps in order, which is handy to skip over repeats or maps you dislike.