z := (x + y)
copy ax, x add ax, y copy cn1, ax copy ax, cn1 copy z, ax
R1: <i>j -> //as sequence of letters and/or
digits that begins with a letter//
R1: <identifier> -> //a sequence of letters and/or
digits that begins with a letter//
"change <i>j into a sequence of letters and/or
digits that begins with a letter."
<i>3 -> x
<i>6 -> data
(<i>3 + <i>6)
(x + data)
- R2: <e>i -> <i>j
<e>1 -> <i>3 -> x
<e>1 ->* x
- R3: <s>k -> <i>j := <e>i
ans := data
derivation rule <s>1 R3: <s>1 -> <i>2 := <e>3 <i>2 := <e>3 R1: <i>2 -> ans ans := <e>3 R2: <e>3 -> <i>4 ans := <i>4 R1: <i>4 -> data ans := data
- R4: <e>i -> ( <e>j + <e>k )
- R5: <e>i -> ( <e>j * <e>k )
ANS := (X + (Y * Z)) derivation rule s1 R3: s1 -> i2 := e3 i2 := e3 R1: i2 -> ANS ANS := e3 R4: e3 -> (e4 + e5) ANS := (e4 + e5) R2: e4 -> i6 ANS := (i6 + e5) R1: i6 -> X ANS := (X + e5) R5: e5 -> (e7 * e8) ANS := (X + (e7 * e8) R2: e7 -> i9 ANS := (X + (i9 * e8) R1: i9 -> Y ANS := (X + (Y * e8) R2: e8 -> i10 ANS := (X + (Y * i10) R1: i10 -> Z ANS := (X + (Y * Z))