@@ -467,6 +467,8 @@
467 [%label label]
467 [%label label]
468 [%goto label]
468 [%goto label]
469 [%func-call functioncall]
469 [%func-call functioncall]
470+ [%while cond=expr body=blok]
471+ [%repeat body=blok cond=expr]
470 [%break ~]
472 [%break ~]
471 [%empty ~]
473 [%empty ~]
@@ -478,6 +480,25 @@
479 (cold [%break ~] (jest 'break'))
481 (cold [%break ~] (jest 'break'))
484+ |= [* cond=expr * body=blok *] [%while cond body]
494+ |= [* body=blok * cond=expr] [%repeat body cond]
482 |= [* =label] [%goto label]
503 |= [* =label] [%goto label]
483 ;~ (glue ws)
504 ;~ (glue ws)
@@ -531,6 +552,22 @@
532 (trip +.stat)
553 (trip +.stat)
559+ (print-expr cond.stat)
561+ (print-blok body.stat)
567+ (print-blok body.stat)
569+ (print-expr cond.stat)
535:: functioncall
572:: functioncall