flex (and libfl) expect a symbol yyflex. This symbol is overwritten and expected
to be cool_yyflex in the cool compiler. This patch makes both happy. In addition
fixes name mangling issues with c++ compilers which otherwise may mangle
yyflex (which is a fixed symbol in c-compiled libfl).
`grade.pl` scripts contain packed test data. The scripts extract the data
to the `grading` folder in the respective `assignments/PA[2-4]J?` folders. When
running tar as superuser it defaults to `--preserve-permission` `--same-owner`.
Since the packed data is owned by sjt:operator, the folder may be inaccessible
from the host.
By patching in `-o` to the tar command we disable `--same-owner` which creates
the `grading` folder with root:root (translated to the PID:GID of the user
running the container at least in podman).