diff options
| author | 2022-08-08 08:48:21 +0200 | |
|---|---|---|
| committer | 2022-08-08 08:50:18 +0200 | |
| commit | 215c18ebc86b116827d3af19ca0779316e1a0e15 (patch) | |
| tree | 472683c87148646856b73c0af09e64768aa550af /bootstrap/all.h | |
| parent | 8e94bb58ca91b26c0916210a179157b1280489be (diff) | |
break & continue
Diffstat (limited to 'bootstrap/all.h')
| -rw-r--r-- | bootstrap/all.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/bootstrap/all.h b/bootstrap/all.h index 3145674..1629455 100644 --- a/bootstrap/all.h +++ b/bootstrap/all.h @@ -35,6 +35,7 @@ struct span { _(break) \ _(case) \ _(const) \ + _(continue) \ _(def) \ _(defmacro) \ _(do) \ @@ -74,6 +75,7 @@ enum toktype { TKgensym, TKtype, TKexpr, + TKlabel, TKeof, }; @@ -137,6 +139,7 @@ struct parser { bool save_envage; int envage; int varid; + int loopid, curloop; }; enum typetype { @@ -237,6 +240,7 @@ enum decltype { Ddef, Dmacro, Dtepl, + Dlabel, }; struct decl { @@ -268,6 +272,7 @@ struct decl { struct toktree toks; int envage; } tepl; + int loopid; }; int age; }; @@ -394,6 +399,8 @@ enum stmttype { Siswitch, Sreturn, Seuswitch, + Sbreak, + Scontinue, }; struct iswitchcase { @@ -424,6 +431,7 @@ struct stmt { } ifelse; struct { slice_t(struct stmt) ini; + int id; struct expr test; struct expr *next; struct blockstmt body; @@ -440,6 +448,9 @@ struct stmt { bool byptr; } euswitch; struct expr *retex; + struct { + int id; + } brkcon; }; }; |