This function is used to process a program with McMicMac (see PLT McMicMac: Parser Manual). The first argument, reader is the result of calling zodiac:read. The second argument, f, is used to process the intermediate results from zodiac. It must accept either a basis:process-finish structure, indicating that all of the program is processed, or an sexpression or a zodiac:parsed structure. The final parameter annotate? determines if f receives sexpressions or zodiac:parsed structures. If annotate? is not #f, f will be passed sexpressions. If it is #f, f will be passed zodiac:parsed structures.