public Parser compilerDirective() {
        if (compilerDirectiveParser == null) {
           FutureParser future = scoped("compilerDirective");
           compilerDirectiveParser = future;
           future.setParser(
               sequence(
                   sequence(
                       token("\u0024"),
                       token("SET")
                   ),
                   skipto(
                       choice(
                           sequence(
                               token("\u0024"),
                               token("SET")
                           ),
                           divisionStart(),
                           compilationUnit(),
                           verb()
                       )
                   )
               )
           );
        }

        return compilerDirectiveParser;
    }