Thanks for that -- here's one which works for me on OS X:
#!/bin/sh
# assume this is being run from ..../Quark/src/export/OpenQuark_Build/
Build_Scripts
if [ -z QUARK_SRC ]
then
QUARK_SRC=../../../..
fi
GRAMMAR_DIR="$QUARK_SRC/src/CAL_Platform/antlr grammar"
if [ ! -d "$GRAMMAR_DIR" ]
then
echo "Expected to find grammars at $GRAMMAR_DIR";
exit 1;
fi
ANTLRJAR=$QUARK_SRC/src/import/Titan_Research/win32_x86/release/bin/
External/java/antlr.jar
OUTPUT_DIR=$QUARK_SRC/src/CAL_Platform/src/org/openquark/cal/compiler
# change to the antlr grammar directory so that
CALCommonTokenTypes.txt can be found
cd "$GRAMMAR_DIR"
java -cp $ANTLRJAR antlr.Tool -o $OUTPUT_DIR "$GRAMMAR_DIR/CAL.g"
java -cp $ANTLRJAR antlr.Tool -o $OUTPUT_DIR "$GRAMMAR_DIR/CALDoc.g"
java -cp $ANTLRJAR antlr.Tool -o $OUTPUT_DIR "$GRAMMAR_DIR/
CALTreeParser.g"