diff options
author | Nicolas Williams <nico@cryptonector.com> | 2013-12-11 14:13:57 -0600 |
---|---|---|
committer | Nicolas Williams <nico@cryptonector.com> | 2013-12-11 14:14:26 -0600 |
commit | 474386a1d950ab8fd8e1d4fb7570e6454466a834 (patch) | |
tree | b52ebcdfa2f00a31b35359684fc62ed3fba064bb /parser.y | |
parent | 7fd2c2d08b0e6d9f792e28ca2f3d10a820ca08d9 (diff) |
Complete more-arity feature not complete
And test
Diffstat (limited to 'parser.y')
-rw-r--r-- | parser.y | 61 |
1 files changed, 60 insertions, 1 deletions
@@ -360,8 +360,67 @@ FuncDef: jv_free($2); jv_free($4); jv_free($6); -} +} | +"def" IDENT '(' IDENT ';' IDENT ';' IDENT ')' ':' Exp ';' { + $$ = gen_function(jv_string_value($2), + BLOCK(gen_param(jv_string_value($4)), + gen_param(jv_string_value($6)), + gen_param(jv_string_value($8))), + $11); + jv_free($2); + jv_free($4); + jv_free($6); + jv_free($8); +} | + +"def" IDENT '(' IDENT ';' IDENT ';' IDENT ';' IDENT ')' ':' Exp ';' { + $$ = gen_function(jv_string_value($2), + BLOCK(gen_param(jv_string_value($4)), + gen_param(jv_string_value($6)), + gen_param(jv_string_value($8)), + gen_param(jv_string_value($10))), + $13); + jv_free($2); + jv_free($4); + jv_free($6); + jv_free($8); + jv_free($10); +} | + +"def" IDENT '(' IDENT ';' IDENT ';' IDENT ';' IDENT ';' IDENT ')' ':' Exp ';' { + $$ = gen_function(jv_string_value($2), + BLOCK(gen_param(jv_string_value($4)), + gen_param(jv_string_value($6)), + gen_param(jv_string_value($8)), + gen_param(jv_string_value($10)), + gen_param(jv_string_value($12))), + $15); + jv_free($2); + jv_free($4); + jv_free($6); + jv_free($8); + jv_free($10); + jv_free($12); +} | + +"def" IDENT '(' IDENT ';' IDENT ';' IDENT ';' IDENT ';' IDENT ';' IDENT ')' ':' Exp ';' { + $$ = gen_function(jv_string_value($2), + BLOCK(gen_param(jv_string_value($4)), + gen_param(jv_string_value($6)), + gen_param(jv_string_value($8)), + gen_param(jv_string_value($10)), + gen_param(jv_string_value($12)), + gen_param(jv_string_value($14))), + $17); + jv_free($2); + jv_free($4); + jv_free($6); + jv_free($8); + jv_free($10); + jv_free($12); + jv_free($14); +} String: |