Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 11 additions & 14 deletions bil.ott
Original file line number Diff line number Diff line change
Expand Up @@ -459,7 +459,7 @@ defns program :: '' ::=
defn delta , w , var ~> delta' , w' , var' :: :: step :: '' by

delta,w,var |-> {addr=w1; size=w2; code=bil}
delta, w1.+w2 |- bil ~> delta',w3,{}
delta, w1.+w2 |- bil ~> delta',w3
---------------------------------------------------------- :: step
delta,w,var ~> delta',w3,var

Expand Down Expand Up @@ -790,23 +790,23 @@ defns reduce_stmt :: '' ::=


delta |- e ~>* true
delta,word |- seq ~> delta',word',{}
delta,word |- seq ~> delta',word'
------------------------------------- :: ifthen_true
delta,word |- if (e) seq ~> delta', word'

delta |- e ~>* true
delta,word |- seq ~> delta',word',{}
delta,word |- seq ~> delta',word'
------------------------------------- :: if_true
delta,word |- if (e) seq else seq1 ~> delta', word'

delta |- e ~>* false
delta,word |- seq ~> delta',word',{}
delta,word |- seq ~> delta',word'
------------------------------------- :: if_false
delta,word |- if (e) seq1 else seq ~> delta', word'


delta1 |- e ~>* true
delta1,word1 |- seq ~> delta2,word2,{}
delta1,word1 |- seq ~> delta2,word2
delta2,word2 |- while (e) seq ~> delta3,word3
--------------------------------------------- :: while
delta1,word1 |- while (e) seq ~> delta3,word3
Expand All @@ -819,21 +819,18 @@ defns reduce_stmt :: '' ::=

defn delta , word |- seq ~> delta' , word' , seq' :: :: seq :: '' by

delta,word |- s1 ~> delta',word'
------------------------------------------------------------- :: seq_rec
delta,word |- {s1; s2; ..; sn} ~> delta', word', {s2; ..; sn}

delta,word |- s1 ~> delta',word'
------------------------------------------------------------- :: seq_last
delta,word |- {s1; s2} ~> delta', word', {s2}
delta1,word1 |- s1 ~> delta2,word2
delta2,word2 |- {s2; ..; sn} ~> delta3, word3
------------------------------------------------------------- :: seq_rec
delta1,word1 |- {s1; s2; ..; sn} ~> delta3, word3

delta,word |- s1 ~> delta',word'
------------------------------------------------------------- :: seq_one
delta,word |- {s1} ~> delta', word', {}
delta,word |- {s1} ~> delta', word'


------------------------------------------------------------- :: seq_nil
delta,word |- {} ~> delta, word, {}
delta,word |- {} ~> delta, word

defns multistep_exp :: '' ::=

Expand Down