@@ -271,6 +271,13 @@ relation print_equation: Absyn.Equation => () =
271271 -------------------------------------------
272272 print_equation(Absyn.EQ_EXPR(e))
273273
274+ rule print "IF (" & print_exp(e) & print ") THEN " &
275+ print_list(tb, print_equation, ";") &
276+ print_list(eb, print_elseif, " ") &
277+ print " ELSE " & print_list(fb, print_equation, ";")
278+ ----------------------------------------------------
279+ print_equation(Absyn.EQ_IF(e,tb,eb,fb))
280+
274281 rule print "EQ_EQUALS(" & print_exp(e1) & print "," &
275282 print_exp(e2) & print ")"
276283 -------------------------------------------
@@ -292,6 +299,17 @@ relation print_equation: Absyn.Equation => () =
292299
293300end
294301
302+ (**)
303+
304+ relation print_elseif : (Absyn.Exp * Absyn.Equation list) => () =
305+
306+ rule print " ELSEIF " & print_exp e & print " THEN " &
307+ print_list(el, print_equation, ";")
308+ -----------------------------------
309+ print_elseif((e,el))
310+
311+ end
312+
295313(** - Algorithm clauses *)
296314
297315relation print_algorithm: Absyn.Algorithm => () =
@@ -412,9 +430,9 @@ relation print_exp: Absyn.Exp => () =
412430 -----------------------------------------------------------------
413431 print_exp(Absyn.RELATION(e1, op, e2))
414432
415- rule print "IF " & print_exp(c) &
416- print " THEN " & print_exp(t) &
417- print " ELSE " & print_exp(f)
433+ rule print "if " & print_exp(c) &
434+ print " then " & print_exp(t) &
435+ print " else " & print_exp(f)
418436 ----------------------------
419437 print_exp(Absyn.IFEXP(c,t,f))
420438
0 commit comments