private ExpressionList expression_list(int fallbackLineNumber, int fallbackCharPosition) throws RequiredTokenException 
	{
		enterRule(NonTerminal.EXPRESSION_LIST);
		ArrayList<Expression> expressions = new ArrayList<Expression>();
		if(firstSetSatisfied(NonTerminal.EXPRESSION0))
		{
			expressions.add(expression0());
			while(accept(Token.Kind.COMMA))
				expressions.add(expression0());
		}
		exitRule();
		return new ExpressionList(
			expressions.size() > 0 ? ((Command)expressions.get(0)).lineNumber() : fallbackLineNumber,
			expressions.size() > 0 ? expressions.get(0).getLeftmostCharPos(): fallbackCharPosition,
			expressions);
	}