class CustomDescriptionStepParser implements StepParser<DescriptionStep> {

	private ParseContext parse(String expression) {
		BaseErrorListener baseErrorListener = new BaseErrorListener() {
			@Override
			public void syntaxError(Recognizer<?, ?> recognizer, Object offendingSymbol, int line,
					int charPositionInLine, String msg, RecognitionException e) {
				throw new IllegalStateException(msg, e);
			}
		};

		DescriptionStepLexer lexer = new DescriptionStepLexer(new ANTLRInputStream(expression));
		lexer.addErrorListener(baseErrorListener);
		DescriptionStepParser parser = new DescriptionStepParser(new CommonTokenStream(lexer));
		parser.addErrorListener(baseErrorListener);
		return parser.parse();
	}

}