@@ -99,7 +99,10 @@ public SrcRule(
9999 }
100100 LinkedList head3 = this .head ;
101101 LinkedList body2 = this .body ;
102- addTypeConstraint (head3 );
102+ /* I から始まるアトムを int 型として扱う旧時代の機能
103+ * なぜか simpagation にだけ残っていたのでコメントアウト
104+ * addTypeConstraint(head3);
105+ */
103106 addHyperLinkConstraint (head3 , this .guard , body2 );
104107 }
105108
@@ -133,7 +136,12 @@ private LinkedList addHyperLinkConstraintSub(
133136 }
134137 headhl .add (name .toString ());
135138 SrcAtom newg = new SrcAtom ("hlink" , newl );
136- guard .add (newg );
139+ // or の受理のため,linkedlist の linkedlist になっているはずなので変更 imagawa
140+ for (Object i : guard ) {
141+ LinkedList tmp = (LinkedList ) i ;
142+ tmp .add (newg );
143+ }
144+
137145 } else if (o instanceof SrcAtom ) {
138146 SrcAtom sa = (SrcAtom ) o ;
139147 headhl = addHyperLinkConstraintSub (sa .process , guard , null , headhl );
@@ -158,7 +166,11 @@ private LinkedList addHyperLinkConstraintSub(
158166 }
159167 headhl .add (name .toString ());
160168 SrcAtom newg = new SrcAtom ("new" , newl );
161- guard .add (newg );
169+ // or の受理のため,linkedlist の linkedlist になっているはずなので変更 imagawa
170+ for (Object i : guard ) {
171+ LinkedList tmp = (LinkedList ) i ;
172+ tmp .add (newg );
173+ }
162174 }
163175 } else if (o instanceof SrcAtom ) {
164176 SrcAtom sa = (SrcAtom ) o ;
@@ -188,22 +200,38 @@ public void addTypeConstraint(LinkedList l) {
188200 LinkedList newl = new LinkedList ();
189201 newl .add (new SrcLink (sl .name ));
190202 SrcAtom newg = new SrcAtom ("int" , newl );
191- guard .add (newg );
203+ // or の受理のため,linkedlist の linkedlist になっているはずなので変更 imagawa
204+ for (Object i : guard ) {
205+ LinkedList tmp = (LinkedList ) i ;
206+ tmp .add (newg );
207+ }
192208 } else if (sl .name .matches ("^_G.*" )) { // ground
193209 LinkedList newl = new LinkedList ();
194210 newl .add (new SrcLink (sl .name ));
195211 SrcAtom newg = new SrcAtom ("ground" , newl );
196- guard .add (newg );
212+ // or の受理のため,linkedlist の linkedlist になっているはずなので変更 imagawa
213+ for (Object i : guard ) {
214+ LinkedList tmp = (LinkedList ) i ;
215+ tmp .add (newg );
216+ }
197217 } else if (sl .name .matches ("^_S.*" )) { // string
198218 LinkedList newl = new LinkedList ();
199219 newl .add (new SrcLink (sl .name ));
200220 SrcAtom newg = new SrcAtom ("string" , newl );
201- guard .add (newg );
221+ // or の受理のため,linkedlist の linkedlist になっているはずなので変更 imagawa
222+ for (Object i : guard ) {
223+ LinkedList tmp = (LinkedList ) i ;
224+ tmp .add (newg );
225+ }
202226 } else if (sl .name .matches ("^_U.*" )) { // unary
203227 LinkedList newl = new LinkedList ();
204228 newl .add (new SrcLink (sl .name ));
205229 SrcAtom newg = new SrcAtom ("unary" , newl );
206- guard .add (newg );
230+ // or の受理のため,linkedlist の linkedlist になっているはずなので変更 imagawa
231+ for (Object i : guard ) {
232+ LinkedList tmp = (LinkedList ) i ;
233+ tmp .add (newg );
234+ }
207235 }
208236 } else if (o instanceof SrcAtom ) {
209237 SrcAtom sa = (SrcAtom ) o ;
0 commit comments