PDA

Click to See Complete Forum and Search --> : Parse tree


abcdefg
Feb 16th, 2004, 03:24 PM
Im working on an assignment and was confused so I was looking for some help not just answers cause I need to understand (test).

I have these rules:
1. Expression -> Term | Expression Add_op Term
2. Term -> Factor | Term Mult_op Factor
3. Factor -> id | number | '-' Factor | '('Expression')'
4. Add_op -> '+' | '-'
5. Mult_op - > '*' | '/'

I need to draw a parse tree for this:
5-(3+4)*5

Here is what I have (its not a perfect tree):

-------------------E---------------------
| | |
E A T T A T E A T

(3+4) - 5 3 + 4 (3+4) * 5


Is anything wrong?

Thanx

CornedBee
Feb 16th, 2004, 04:38 PM
Yes, you didn't use code tags, so your ASCII art was not preserved. Sorry, can't examine it this way.

abcdefg
Feb 16th, 2004, 06:07 PM
it has code tags now, but isnt perfect. Im thinking the Expression on far left and right need to be broken down further, but Not sure how.

CornedBee
Feb 17th, 2004, 04:03 AM
So I assume your starting rule is E?

To get this right, you need to be a parser yourself. You need to take a look at the rule and see how it can apply. I've attached the full parse tree. It's slightly shortened at the end because I ran out of space.

abcdefg
Feb 17th, 2004, 03:35 PM
Thanx for the reply it helps alot just need to walk through it