diff options
| author | Thomas Bauereiss | 2017-09-29 16:33:55 +0100 |
|---|---|---|
| committer | Thomas Bauereiss | 2017-09-29 16:33:55 +0100 |
| commit | d24027629670f9ecd67cf107a988df242c42ed19 (patch) | |
| tree | 367a79b1e6fec48a8e1dfb81770c0c7d3360d0de /src/parser.mly | |
| parent | 7e1293604ff02c072568e03830d25adfea063087 (diff) | |
| parent | 381a3967ebd9269082b452669f507787decf28b0 (diff) | |
Merge branch 'experiments' of bitbucket.org:Peter_Sewell/sail into experiments
Diffstat (limited to 'src/parser.mly')
| -rw-r--r-- | src/parser.mly | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/parser.mly b/src/parser.mly index 5413ac0d..0c3dbb03 100644 --- a/src/parser.mly +++ b/src/parser.mly @@ -133,6 +133,7 @@ let make_vector_sugar order_set is_inc typ typ1 = %token Pure Rec Register Return Scattered Sizeof Struct Switch Then True TwoStarStar Type TYPE Typedef %token Undefined Union With When Val Constraint Try Catch Throw %token Barr Depend Rreg Wreg Rmem Rmemt Wmem Wmv Wmvt Eamem Exmem Undef Unspec Nondet Escape +%token While Do Repeat Until /* Avoid shift/reduce conflict - see right_atomic_exp rule */ @@ -689,6 +690,8 @@ right_atomic_exp: then ATyp_aux(ATyp_inc,(locn 6 6)) else ATyp_aux(ATyp_dec,(locn 6 6)) in eloc (E_for($3,$5,$7,step,ord,$9)) } + | While exp Do exp + { eloc (E_loop (While, $2, $4)) } | letbind In exp { eloc (E_let($1,$3)) } |
