Reduction Rules of Assignments


The complete reduction rules including environments of the previous abstract syntax are listed as follows. The first 14 rules are modified from the previous rules according to the previous slide:
  1. <'0'|Env> ⇒ <0|Env>;     <'1'|Env> ⇒ <1|Env>;
    <'2'|Env> ⇒ <2|Env>;     <'3'|Env> ⇒ <3|Env>;
    <'4'|Env> ⇒ <4|Env>;     <'5'|Env> ⇒ <5|Env>;
    <'6'|Env> ⇒ <6|Env>;     <'7'|Env> ⇒ <7|Env>;
    <'8'|Env> ⇒ <8|Env>;     <'9'|Env> ⇒ <9|Env> 
  2. <V '0' | Env> ⇒ <10 * V | Env>    
    <V '1' | Env> ⇒ <10 * V + 1 | Env>
    <V '2' | Env> ⇒ <10 * V + 2 | Env>
    <V '3' | Env> ⇒ <10 * V + 3 | Env>
    <V '4' | Env> ⇒ <10 * V + 4 | Env>
    <V '5' | Env> ⇒ <10 * V + 5 | Env>
    <V '6' | Env> ⇒ <10 * V + 6 | Env>
    <V '7' | Env> ⇒ <10 * V + 7 | Env>
    <V '8' | Env> ⇒ <10 * V + 8 | Env>
    <V '9' | Env> ⇒ <10 * V + 9 | Env>
  3. <V1 '+' V2 | Env> ⇒ <V1 + V2 | Env>
  4. <V1 '–' V2 | Env> ⇒ <V1 – V2 | Env>
  5. <V1 '*' V2 | Env> ⇒ <V1 * V2 | Env>
  6. <'(' V ')' | Env> ⇒ <V|Env>
  7.            <E|Env> ⇒ <E1|Env>           
    <E '+' E2 | Env> ⇒ <E1 '+' E2 | Env>
  8.            <E|Env> ⇒ <E1|Env>           
    <E '–' E2 | Env> ⇒ <E1 '–' E2 | Env>