diff -r d8379f5d5a1d -r 7797936ba34c src/Parser.cpp --- a/src/Parser.cpp Sun Jul 29 18:19:12 2012 -0700 +++ b/src/Parser.cpp Sun Jul 29 19:24:55 2012 -0700 @@ -967,6 +967,7 @@ if (!expect(TOK_LPAREN)) return NULL; + if (!match(TOK_RPAREN)) { while (true) { bool isConst = match(TOK_CONST); @@ -1022,7 +1023,14 @@ return NULL; } - Parameter *parameter = new (pool_) Parameter(arg, tag, ref, isConst, postDimensions); + Expression *expr = NULL; + if (match(TOK_ASSIGN)) { + if ((expr = expression()) == NULL) + return NULL; + } + + Parameter *parameter = new (pool_) Parameter(arg, tag, ref, isConst, postDimensions, + expr); if (!parameters->append(parameter)) return NULL;