public Parser unaryOperator() {
        if (unaryOperatorParser == null) {
           FutureParser future = scoped("unaryOperator");
           unaryOperatorParser = future;
           future.setParser(
               choice(
                   token("+"),
                   token("-"),
                   token("B-NOT")
               )
           );
        }

        return unaryOperatorParser;
    }