docs: private void read() throws IOException, GrammarException {
  	try {
  	    logger.debug("Read grammar file...");
  	    logger.debug("Starting lexer...");
  	    Lexer lexer = new RegExpLexer(uhuraGrammar);
  	    TokenStream tokenStream = lexer.lex(SourceCode.read(reader,
  		    new UnspecifiedSourceCodeLocation()));
  	    logger.debug("Starting parser...");
  	    parse(tokenStream);
  	    logger.debug("done reading grammar file.");
  	} catch (LexerException e) {
  	    logger.error(e.getMessage(), e);
  	    throw new IOException(e.getMessage(), e);
  	} catch (ParserException e) {
  	    logger.error(e.getMessage(), e);
  	    throw new IOException(e.getMessage(), e);
  	}
      }