4

文法規則があります

factoid:
Element Place
;

それは別のルールに依存します:

Place:
name = ('sea' | 'air')
;

ファクトイド ルールには、Place に関連する識別エラーが含まれているようです。

この行に複数のマーカーがあります - ルール内でタイプを 2 回変更することはできません - 「現在」がすでに作成されている場合、割り当てられていないルールの呼び出しは許可されません。

これが何を意味するのかわかりません。誰かがこれが何であるか、そしてそれを修正する方法を説明できますか?

4

1 に答える 1

5

Elementルールはオブジェクトを生成すると思います。割り当てがないため、これが現在の割り当てになります。Placeへの 2 番目の割り当てられていないルール呼び出しも、オブジェクトを返します。ただし、現在のポインターには既にElementタイプ クラスが含まれており、クラスPlaceも含めることはできません。したがって、ここではlocationと呼ばれるfactoidのメンバーにPlaceを割り当てることができます。

factoid:
 item=Element location=Place
;

アイテムへの要素の割り当てが必要かどうかはわかりません。Element が member に割り当てられていない場合、その場所はElementのメンバーまたは同様のものになると予想されます。

于 2013-04-12T19:19:50.623 に答える