How Do You Construct a Parse Tree for the Expression (a, (a, a))?

  • Thread starter toothpaste666
  • Start date
  • Tags
    Tree
In summary, the conversation discusses creating a parse tree for a given grammar and string, but there is confusion about the use of parentheses and commas. The expert clarifies that they are just symbols and the question would be the same without them. It is also mentioned that the grammar would be ambiguous without the parentheses, and the expert gives tips on how to draw the tree correctly.
  • #1
toothpaste666
516
20

Homework Statement



Consider the grammar
S←(L)
S←a
L←L,S
L←S

draw a parse tree for the expression (a, (a, a))

The Attempt at a Solution


I can't tell if the starting symbol should be S or L. Also what do the commas mean? The examples we did in class had plus and minus signs and stuff like that but we didn't have an example of what to do when there is a comma. Also is there a difference if the parenthesis weren't there around the L in the first one?
 
Physics news on Phys.org
  • #2
attachment.php?attachmentid=69448&d=1399323730.jpg
This is my attempt at drawing it so far. I don't know how the arrows connecting them should be drawn though.
 

Attachments

  • parsetree.jpg
    parsetree.jpg
    7.1 KB · Views: 436
  • #3
There is nothing special about the parentheses and commas. They are just symbols. The question would be exactly the same if the grammar was
S←xLy
S←a
L←LzS
L←S
and the string was xazxazayy.

Also is there a difference if the parenthesis weren't there around the L in the first one?
Since there is nothing special about the parentheses, the answer is clearly "yes". Without the parentheses, the grammar would have two rules
S←L
L←S
so the parse tree would be ambiguous, and could be infinitely big.

Your attempt looks OK. Check your course notes or textbook for how you are expected to draw the tree including arrows.
 
  • Like
Likes 1 person
  • #4
thank you! I think I will draw an arrow connecting each substitution.
 
  • #5


I would first clarify with the person who provided the content what the starting symbol should be and what the commas represent. Once that is determined, I would use my knowledge of grammar and parsing to construct a parse tree for the given expression. If there is confusion about the parentheses, I would ask for clarification on whether they are necessary for the expression to be valid or if they are just included for clarity. In any case, the parse tree would be constructed based on the given grammar rules and the symbols used in the expression.
 

1. What is a parse tree?

A parse tree is a graphical representation of the syntactic structure of a sentence or expression in a formal language. It shows how the individual elements of the sentence are grouped and related to each other, according to the rules of the language's grammar.

2. How is a parse tree for (a, (a, a)) constructed?

The parse tree for (a, (a, a)) is constructed by first identifying the root node, which is the outermost set of parentheses. The elements within the parentheses are then grouped as child nodes, with the comma serving as the parent node. The process is repeated for the inner set of parentheses, with the elements being grouped as child nodes and the comma serving as the parent node once again. Finally, the individual "a" elements are represented as leaf nodes.

3. What is the purpose of a parse tree?

The purpose of a parse tree is to provide a visual representation of the syntactic structure of a sentence or expression in a formal language. It helps to clarify the relationships between the different elements of the sentence and can be used to identify any errors or ambiguities in the syntax.

4. How does a parse tree help in language processing?

A parse tree can be used in language processing to analyze and understand the structure of a sentence or expression. It can aid in determining the meaning of the sentence and can also be used to generate code or perform other operations based on the syntactic rules of the language.

5. Can a parse tree be used for all types of languages?

No, a parse tree is specifically used for formal languages that have a defined grammar. It may not be applicable for natural languages, as they often have complex and ambiguous rules that cannot be represented in a simple parse tree.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
10
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
3
Views
2K
Replies
19
Views
1K
Replies
1
Views
898
  • Set Theory, Logic, Probability, Statistics
Replies
26
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
3
Views
2K
Replies
12
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
5
Views
3K
Replies
8
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
5
Views
2K
Back
Top