X-Git-Url: https://git.xandkar.net/?a=blobdiff_plain;f=tiger%2Fsrc%2Flib%2Ftiger%2Ftiger_parser.mly;h=fee8888799390c11d3c9925bd830d94cb11dfdb5;hb=b3c9d54d88ff9d02e78e79c8669bfbba77ea0590;hp=43ec10f1955186574dcbd7e592bc0686f40228ae;hpb=a87678f05df6d8d1dfd1c5ab38666c6f1fe31322;p=tiger.ml.git diff --git a/tiger/src/lib/tiger/tiger_parser.mly b/tiger/src/lib/tiger/tiger_parser.mly index 43ec10f..fee8888 100644 --- a/tiger/src/lib/tiger/tiger_parser.mly +++ b/tiger/src/lib/tiger/tiger_parser.mly @@ -167,6 +167,21 @@ exp: "unit[]" } +rec_field_assignments: + | ID EQ exp + { + let id = $1 in + let exp = $3 in + sprintf "%S = %s" id exp + } + | ID EQ exp COMMA rec_field_assignments + { + let id = $1 in + let exp = $3 in + let rec_field_assignments = $5 in + sprintf "%S = %s, %s" id exp rec_field_assignments + } + exps: | exp { @@ -269,21 +284,6 @@ tyfields: sprintf "%s, %s" tyfield tyfields } -rec_field_assignments: - | ID EQ exp - { - let id = $1 in - let exp = $3 in - sprintf "%S = %s" id exp - } - | ID EQ exp COMMA rec_field_assignments - { - let id = $1 in - let exp = $3 in - let rec_field_assignments = $5 in - sprintf "%S = %s, %s" id exp rec_field_assignments - } - fun_args: | exp {