*
* $Id$
*
* $Log$
* Revision 1.5  1997/04/24 07:04:42  couet
* - call now CLTOU
*
* Revision 1.4  1997/04/23 15:04:34  couet
* - reformatting of the LINE string to avoid the spaces printed in case of
* syntax error
*
* Revision 1.3  1996/06/27 16:18:18  couet
* - The string LINE was too small (function name in FUN/PLOT was limited
*   to 54 characters)
*
* Revision 1.2  1996/06/04 13:01:09  couet
* - fix to allow:
*
* Macro cc2
* Appl COMIS quit
* !file xx.f77
* quit
* fun/plot 3.*xx(x) -1 1
*
* Revision 1.1.1.1  1996/02/26 17:16:16  mclareni
* Comis
*
*
#include "comis/pilot.h"
*CMZU:  1.16/16 27/09/93  17.23.43  by  Vladimir Berezhnoi
*-- Author : V.Berezhnoi
       SUBROUTINE CSEXPR(TEXT,IADDR)
***--------------------
*       translates xyz-expr and returns its address
***--------------------
       CHARACTER *(*) TEXT
       CHARACTER *256 LINE
       CHARACTER *4   NAME
       INTEGER CSADDR
       SAVE NAME,NO
       DATA NAME/'_000'/, NO/0/
       NO = NO+1
       NO = MOD(NO,1000)
       WRITE (NAME(2:4),77) NO
 77    FORMAT(I3)
       IF (NAME(2:2).EQ.' ') NAME(2:2) = '0'
       IF (NAME(3:3).EQ.' ') NAME(3:3) = '0'
       LINE='FUNCTION '// NAME // '(X,Y,Z) '
     +    // NAME //'=' // TEXT
       IL = LENOCC(LINE)+1
       LINE(IL:IL) = '#'
       CALL CLTOU(LINE)
       CALL CSEXEC(LINE,KERR)
       IF (KERR.NE.0) THEN
         IADDR = 0
       ELSE
         IADDR = CSADDR(NAME)
         CALL CSLINK
       ENDIF
       END
