代码拉取完成,页面将自动刷新
基于 前一任务的讨论,为 lambda 形参添加下面两个语法(参考逆向):
lambda_param : primary_expr
lambda_param : ( )
以及下列三个语法:
primary_expr : ( name : type_name )
primary_expr : ( name : type_name , param_list_not_empty )
primary_expr : ( name , param_list_not_empty )
请尽量对每个语法规则添加对应测试用例,比如为 primary_expr : ( name : type_name )
,可在 匿名函数.ul
中添加用例如:
print(list(filter((n:int) -> n>0, [1,-1])))
每次对代码的修改,请以“能够完成这条语法规则功能的最少代码”为目标,而非一次性将逆向的整段代码(如 primary_expr_)加到重现项目中。
为方便回顾代码,可以将每条语法规则和对应测试、文档修改置于一个 commit,整个 PR 可分为多个 commit。如对如何拆分拿不准,欢迎在提第一个 commit 时就与我确认。
为避免任务范围扩大,如非必要,请避免引入其他代码(如 convert_to_tuple)。
其他要求与 首个悬赏任务 的相同。