public Parser acceptFromOther() {
        if (acceptFromOtherParser == null) {
           FutureParser future = scoped("acceptFromOther");
           acceptFromOtherParser = future;
           future.setParser(
               sequence(
                   identifier_format2(),
                   token("FROM"),
                   choice(
                       token("TERMINAL-INFO"),
                       token("SYSTEM-INFO"),
                       sequence(
                           token("INPUT"),
                           token("STATUS")
                       ),
                       sequence(
                           token("ESCAPE"),
                           token("KEY")
                       ),
                       sequence(
                           token("EXCEPTION"),
                           token("STATUS")
                       ),
                       sequence(
                           token("LINE"),
                           token("NUMBER")
                       ),
                       sequence(
                           token("USER"),
                           token("NAME")
                       ),
                       token("COMMAND-LINE"),
                       sequence(
                           token("STANDARD"),
                           token("OBJECT"),
                           identifier()
                       ),
                       sequence(
                           token("THREAD"),
                           token("HANDLE")
                       ),
                       sequence(
                           token("WINDOW"),
                           token("HANDLE")
                       )
                   )
               )
           );
        }

        return acceptFromOtherParser;
    }