dポイントプレゼントキャンペーン実施中!

BNFについてですが、
<expression> ::= <expression> + <term> | <term>
<term> ::= <term> * <primary> | <primary>
<primary> ::= (<exprssion>) | <identifier>
<identifier> ::= a
という、数式の定義があるとき、(((a))) という記号列は得ることが出来ますか?

A 回答 (2件)

可能だと思いますよ...


順に追っていくと...
<identifier> ::= a
<primary> = <identifier> = a
<expression> =<term> = <primary> =a
で、元に戻って、
<primary> = (<exprssion>) = (a)

となるので、これを3回繰り返すと、(((a)))になりますよね....
    • good
    • 0
この回答へのお礼

ご親切にありがとうございます。<expression>から、aという終端記号まで置換できることがよく分かりました(^^)

お礼日時:2003/07/24 10:56

できます。



だけでは不親切なので、ヒントだけ。
一つの記号列がいろいろな非終端記号(と言ったかな)に
当てはまることがあります。
たとえば、「a」は
<identifier>であり<primary>であり<term>であり
<expression>です。
    • good
    • 0
この回答へのお礼

ありがとうございましたm(__)m複数の非終端記号が1つの文字列にあてはまることを、忘れてました。

お礼日時:2003/07/24 10:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!