229
230
231
233
234
235
236#include "implicit_f.inc"
237#include "comlock.inc"
238#include "task_c.inc"
239#include "scr01_c.inc"
240
241
242
243#include "units_c.inc"
244
245
246
247 CHARACTER*132 LINE
248 INTEGER NS_SIGNAL,IW
249
250
251
252 INTEGER TRACE_PILE
254 INTEGER NIVEAU_PILE,NLIGNES_PILE(0:NIVEAU_MAX,PARASIZ)
255 INTEGER CHECK_PILE(NIVEAU_MAX,PARASIZ)
256 CHARACTER*80 BLANC
257 CHARACTER*132 TEXT(NLIGNES_MAX,PARASIZ)
258 INTEGER I,IP,IL,NLIGNES,IT
259 LOGICAL :: FIRST_CALL = .true.
260 SAVE nlignes_pile,text,check_pile, first_call
261 INTEGER NS_SIGNAL1,IW1,LAST_IN
262
263 IF(first_call) THEN
264 first_call = .false.
265 nlignes_pile = 0
266 check_pile = 0
267 ENDIF
268
269 blanc=' '
271 last_in = niveau_pile
272 ns_signal1=ns_signal
273 iw1=iw
274 IF(itaskp1_def==0)THEN
275 it = 1
276 ELSE
277 it = itaskp1
278 ENDIF
279
280 IF(iw1==0) THEN
281
282
283
284 nlignes_pile(niveau_pile,it)
285 . = nlignes_pile(niveau_pile,it) + 1
286 nlignes_pile(niveau_pile+1,it)
287 . = nlignes_pile(niveau_pile,it)
288 nlignes = nlignes_pile(niveau_pile,it)
289 text(nlignes,it)(1:niveau_pile) =blanc(1:niveau_pile)
290 text(nlignes,it)(niveau_pile+1:132)=line(1:132-niveau_pile)
291 check_pile(niveau_pile,it) = ns_signal
292 ELSEIF(iw1==-1) THEN
293
294
295
296 IF(ns_signal1==check_pile(niveau_pile,it))THEN
297 nlignes_pile(niveau_pile,it)
298 . = nlignes_pile(niveau_pile-1,it)
299 ELSE
300 ns_signal1 = 4
301 iw1=1
302 ENDIF
303 ENDIF
304
305 IF(iw1>0) THEN
306
307
308
309 IF(niveau_pile<=0)stop
310 nlignes = nlignes_pile(niveau_pile,it)
312
313 IF(ns_signal1==-1)THEN
314 CALL ancmsg(msgid=40,anmode=aninfo)
315 ELSEIF(ns_signal1==-2)THEN
316 CALL ancmsg(msgid=41,anmode=aninfo)
317 ELSEIF(ns_signal1==1)THEN
318 CALL ancmsg(msgid=42,anmode=aninfo)
319 ELSEIF(ns_signal1==2)THEN
320 CALL ancmsg(msgid=43,anmode=aninfo)
321 ELSEIF(ns_signal1==3)THEN
322 CALL ancmsg(msgid=44,anmode=aninfo)
323 ELSEIF(ns_signal1==4)THEN
324 CALL ancmsg(msgid=45,anmode=aninfo,
325 . i1=ns_signal,
326 . i2=last_in)
327 ENDIF
328
329 WRITE(iout,'(A,A)')' ',
330 .'+=============================================================+'
331
332 DO i=1,nlignes
333 WRITE(iout,'(A,A)')' | + ',text(i,it)
334 ENDDO
335 WRITE(iout,'(A,A)')' ',
336 .'+=============================================================+'
337 IF (ns_signal1/=4) THEN
339 END IF
340 ENDIF
341
342 RETURN
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)