From: <fwi...@us...> - 2008-08-24 02:04:46
|
Revision: 5241 http://jython.svn.sourceforge.net/jython/?rev=5241&view=rev Author: fwierzbicki Date: 2008-08-24 02:04:43 +0000 (Sun, 24 Aug 2008) Log Message: ----------- Fix lambda without args. Modified Paths: -------------- branches/nowalker/grammar/Python.g Modified: branches/nowalker/grammar/Python.g =================================================================== --- branches/nowalker/grammar/Python.g 2008-08-23 23:03:59 UTC (rev 5240) +++ branches/nowalker/grammar/Python.g 2008-08-24 02:04:43 UTC (rev 5241) @@ -1092,9 +1092,21 @@ ; //lambdef: 'lambda' [varargslist] ':' test -lambdef: LAMBDA (varargslist)? COLON test[expr_contextType.Load] {debug("parsed lambda");} - -> ^(LAMBDA<Lambda>[$LAMBDA, $varargslist.args, (exprType)$test.tree]) - ; +lambdef +@init { + exprType etype = null; +} +@after { + $lambdef.tree = etype; +} + : LAMBDA (varargslist)? COLON test[expr_contextType.Load] { + argumentsType a = $varargslist.args; + if (a == null) { + a = new argumentsType($LAMBDA, new exprType[0], null, null, new exprType[0]); + } + etype = new Lambda($LAMBDA, a, (exprType)$test.tree); + } + ; //trailer: '(' [arglist] ')' | '[' subscriptlist ']' | '.' NAME trailer [Token begin]: LPAREN (arglist -> ^(LPAREN<Call>[$begin, null, actions.makeExprs($arglist.args), actions.makeKeywords($arglist.keywords), $arglist.starargs, $arglist.kwargs]) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |