Wednesday, July 30, 2008

TRANSLATION RULES

a) INFIX TO PREFIX
  1. If E is a variable or a constant, then Prefix(E) = E
  2. If E is E1 op E2, then Prefix(E) = Prefix(E1 op E2) = op Prefix(E1) Prefix(E2)
  3. If E is (E1), then Prefix(E) = Prefix(E1)
example:

Prefix( ( A * B ) + ( C / D) )
= ( + Prefix(A * B) Prefix(C / D) )
= ( + ( * Prefix (A) Prefix (B) ) ( / Prefix (C) Prefix(D) )
= ( + ( * A B ) ( / C D ) )


b) PREFIX TO INFIX
  1. If E is a variable or a constant, then Infix(E) = E
  2. If E is op E1 E2, then Infix(E) = Infix(E1 E2) = Infix(E1) op Infix(E2)
  3. If E is (E1), then Infix(E) = Infix(E1)
example:

Infix( + ( * A B ) ( / C D ) )
= ( Infix ( * A B ) + Infix ( / C D) )
= ( ( Infix(A) * Infix(B) ) + ( Infix(C) / Infix (D) )
= ( ( A * B ) + ( C / D) )


c) POSTFIX TO INFIX
  1. If E is a variable or a constant, then Infix(E) = E
  2. If E is E1 E2 op , then Infix(E) = Infix(E1 E2 op ) = Infix(E1) op Infix(E2)
  3. If E is (E1), then Infix(E) = Infix(E1)
example:

Infix( ( A B * ) ( C D / ) + )
= ( Infix( A B *) + Infix( C D / ) )
= ( ( Infix(A) * Infix (B) ) + ( Infix(C) / Infix(D) )
= ( ( A * B ) + ( C / D) )


d) POSTFIX TO PREFIX
  1. If E is a variable or a constant, then Prefix(E) = E
  2. If E is E1 E2 op , then Prefix(E) = Prefix(E1 E2 op ) = op Prefix(E1 ) Prefix(E2)
  3. If E is (E1), then Prefix(E) = Prefix(E1)
example:

Prefix( ( A B * ) ( C D / ) + )
= ( + ( Prefix( A B * ) ) ( Prefix( C D / ) )
= ( + ( * Prefix(A ) Prefix(B ) ) ( / Prefix(C ) Prefix(D ) )
= ( + ( * A B ) ( / C D ) )


0 Comments:

Post a Comment