diff --git a/nml/parser.py b/nml/parser.py
index 8d28382..d23764b 100644
--- a/nml/parser.py
+++ b/nml/parser.py
@@ -441,8 +441,12 @@ class NMLParser(object):
else: t[0] = t[1] + [switch.RandomChoice(t[2], t[4])]
def p_produce(self, t):
- 'produce : PRODUCE LPAREN expression_list RPAREN SEMICOLON'
- t[0] = produce.Produce(t[3], t.lineno(1))
+ '''produce : PRODUCE LPAREN ID COMMA expression COMMA expression COMMA expression COMMA expression COMMA expression RPAREN SEMICOLON
+ | PRODUCE LPAREN ID COMMA expression COMMA expression COMMA expression COMMA expression COMMA expression COMMA expression RPAREN SEMICOLON'''
+ if len(t) == 16:
+ t[0] = produce.Produce([t[3], t[5], t[7], t[9], t[11], t[13]], t.lineno(1))
+ else:
+ t[0] = produce.Produce([t[3], t[5], t[7], t[9], t[11], t[13], t[15]], t.lineno(1))
def p_produce_cargo_list(self, t):
'''produce_cargo_list : LBRACKET RBRACKET