fact.as
z = (x + y);
copy ax, x add ax, y copy cn1, ax copy ax, cn1 copy z, ax
R1: <n>j -> //as sequence of letters and/or
digits that begins with a letter//
R1: <name> -> //a sequence of letters and/or
digits that begins with a letter//
"change <n>j into a sequence of letters and/or
digits that begins with a letter."
<n>3 -> x
<n>6 -> data
(<n>3 + <n>6)
(x + data)
R2: <e>i -> <n>j
<e>1 -> <n>3 -> x
<e>1 ->* x
R3: <s>k -> <n>j = <e>i;
ans = data;
derivation rule <s>1 R3: <s>1 -> <n>2 = <e>3; <n>2 = <e>3; R1: <n>2 -> ans ans = <e>3; R2: <e>3 -> <n>4 ans = <n>4; R1: <n>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 -> n2 = e3; n2 = e3; R1: n2 -> ANS ANS = e3; R4: e3 -> (e4 + e5) ANS = (e4 + e5); R2: e4 -> n6 ANS = (n6 + e5); R1: n6 -> X ANS = (X + e5); R5: e5 -> (e7 * e8) ANS = (X + (e7 * e8)); R2: e7 -> n9 ANS = (X + (n9 * e8)); R1: n9 -> Y ANS = (X + (Y * e8)); R2: e8 -> n10 ANS = (X + (Y * n10)); R1: n10 -> Z ANS = (X + (Y * Z));