K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>>僕が混乱したのは、きっと、1次式の定義に「式」という1次式を含む未定義の >>クラスが登場したと受け止めたからだと思います。 > >その受け止め方は正解です。そして再帰的定義というのはそういうものです。 > >ちょうどうちのページにこんな文書がありまして、簡易的な電卓の構文規則を載せています。 >http://kmaebashi.com/programmer/devlang/yacclex.html > 7: expression /* 「式」とは… */ > 8: : term /* 「項」、 */ > 9: | expression ADD term /* または、「式」 + 「項」 */ >10: | expression SUB term /* または、「式」 - 「項」 */ >11: ; >12: term /* 「項」とは、 */ >13: : primary_expression /* 「一次式」、 */ >14: | term MUL primary_expression /* または、「項」 * 「一次式」 */ >15: | term DIV primary_expression /* または、「項」 / 「一次式」 */ >16: ; >17: primary_expression /* 「一次式」とは… */ >18: : DOUBLE_LITERAL /* 実数のリテラル */ >19: ; > >この電卓は括弧が使えないのでprimary_expressionの定義は異なりますが、 >この電卓でも、式の定義にはやっぱり式が登場します。 >K&Rをお持ちであれば、巻末の構文規則(p.298あたり)でCの式の構文が定義されています。 > >>式は1次式から構成されるものなのでしょうが、どのように構成されるものをそう言うのか、 >>そこでの記述では不明だと思います。定義になっていないのでは。 > >ポインタ完全制覇における式の定義に関する説明は、 >・「式には1次式と呼ばれるものがあります」 >・「式に対して演算子を適用したり、演算子でもって式と式をつなぎ合わせたもののことも、 > また式と呼びます」 > となっています。 > Cには関数呼び出し等を含めたくさんの演算子がありますし、sizeof(型)はどうなるのか等、この定義では曖昧すぎるというご意見はあるかと思いますが、この場所でそれを延々と書くのもよろしくないと判断した、のだと思います。ずいぶん前の話なので記憶が曖昧ですが。 > >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!