public ExpressionIterator parse(@NonNull Resource resource) throws ParseException {
      try {
         return new ExpressionIterator(grammar, lexer.lex(resource));
      } catch (IOException e) {
         throw new ParseException(e);
      }
   }
public ExpressionIterator parse ( @ NonNull Resource resource ) throws ParseException { try { return new ExpressionIterator ( grammar , lexer . lex ( resource ) ) ; } catch ( IOException e ) { throw new ParseException ( e ) ; } }
<p>Parses the given resource returning an {@link ExpressionIterator} to iterate over the parsed expressions. Note
the parse is lazy and is done during the calls to {@link ExpressionIterator#next()}.</P>

@param resource the resource to parse
@return the expression iterator that lazily parses the resource
@throws ParseException tSomething went wrong parsing