public Parser verb() {
        if (verbParser == null) {
           FutureParser future = scoped("verb");
           verbParser = future;
           future.setParser(
               choice(
                   token("ADD"),
                   token("ALTER"),
                   token("CALL"),
                   token("CANCEL"),
                   token("CHAIN"),
                   token("CLOSE"),
                   token("COMMIT"),
                   token("CONTINUE"),
                   token("DELETE"),
                   token("DIVIDE"),
                   token("EJECT"),
                   token("ENTRY"),
                   token("EVALUATE"),
                   token("EXEC"),
                   token("EXIT"),
                   token("GENERATE"),
                   token("GOBACK"),
                   token("GO"),
                   token("IDENTIFIED"),
                   token("IF"),
                   token("INITIATE"),
                   token("INVOKE"),
                   token("MERGE"),
                   token("MOVE"),
                   token("MULTIPLY"),
                   sequence(
                       token("NEXT"),
                       token("SENTENCE")
                   ),
                   token("OPEN"),
                   token("PERFORM"),
                   token("RAISE"),
                   token("READ"),
                   sequence(
                       token("READY"),
                       token("TRACE")
                   ),
                   token("RELEASE"),
                   token("REPLACE"),
                   sequence(
                       token("RESET"),
                       token("TRACE")
                   ),
                   token("RETURN"),
                   token("REWRITE"),
                   token("ROLLBACK"),
                   token("SEARCH"),
                   token("SERVICE"),
                   token("SKIP1"),
                   token("SKIP2"),
                   token("SKIP3"),
                   token("SORT"),
                   token("STOP"),
                   token("STRING"),
                   token("SUBTRACT"),
                   token("SUPPRESS"),
                   token("TERMINATE"),
                   token("TITLE"),
                   token("UNSTRING"),
                   token("WAIT"),
                   token("WRITE"),
                   sequence(
                       token("XML"),
                       token("GENERATE")
                   ),
                   sequence(
                       token("XML"),
                       token("PARSE")
                   ),
                   token("SET"),
                   token("INITIALIZE"),
                   token("DISPLAY"),
                   token("COMPUTE"),
                   token("INSPECT"),
                   token("ACCEPT"),
                   token("ALLOCATE"),
                   token("FREE"),
                   token("ENABLE"),
                   token("DISABLE"),
                   token("SEND"),
                   token("RECEIVE"),
                   token("PURGE"),
                   token("START"),
                   token("USE")
               )
           );
        }

        return verbParser;
    }