944,222 Members | Top Members by Rank

Ad:
  • C Discussion Thread
  • Unsolved
  • Views: 2325
  • C RSS
Feb 23rd, 2006
0

Algorithm: BNF question

Expand Post »
How do i get from 2 character words to 4 character words or 5 character words??
can anyone show me how to do that plz...


Q) Consider a language of words, where each word is a string of dots and dashes. The following grammar describes this language:

<word> ::= <dot> | <dash><word> | <word> <dot>
<dot> ::= .
<dash> ::= -

The meta-symbols of BNF are:

::= meaning “is defined as�
| meaning is “or�
<> angle brackets are used to surround category names


Question: List all strings with exactly three characters that are in this language?
Is the string ...---(three dots followed by three dashes) in this language?




Let's start listing the possible words. The only word consisting of one character is a single dot. By applying the second production rule, you can add a dash in front of the word, which gives you <dash> <dot>. If you apply the third rule instead, you add a dot after the first dot, resulting in <dot> <dot>.

So now I have two valid words consisting of two characters each:

-.
..

Now I can go on and apply the two production rules again to these two words, resulting in four three-character words. Of course, in the same way, you get 8 four-character words, 16 five-character words and so on.

How do I apply the production rule to get to the four 3 character word??
Similar Threads
Reputation Points: 10
Solved Threads: 0
Light Poster
jack223 is offline Offline
27 posts
since Nov 2005
Feb 24th, 2006
0

Re: Algorithm: BNF question

I came up with three three-character words:

...
-..
--.


I don't see how to create the fourth one.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
agiorgio is offline Offline
15 posts
since Feb 2006
Feb 24th, 2006
0

Re: Algorithm: BNF question

Quote originally posted by agiorgio ...
I came up with three three-character words:

...
-..
--.


I don't see how to create the fourth one.
That's what I got too....the fourth one is "-.." which already exist so it doens't count.


I have another question and this one is little harder.

<S> = a<S>a | b<S>b | a | b

Q: list all the 5-character strings that are in this language?


My answer is there are four 5-character strings in this language and they are "ababa" , "abbba" , "baaab" , "babab".....is this right??

<S> = a<S>a
<S> = b<S>b
<S> = a
<S> = b

so therefore, <S> = ab<S>ba = ababa or abbba

and <S> = b<S>b = ba<S>ab = baaab or babab
Reputation Points: 10
Solved Threads: 0
Light Poster
jack223 is offline Offline
27 posts
since Nov 2005

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in C Forum Timeline: Inheritance
Next Thread in C Forum Timeline: unable to access random lines within a file





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC