1 /****************************************************************************/
3 /* Chaine de CAO & VLSI Alliance */
5 /* Produit : ELP Verison 1 */
6 /* Fichier : elp_error.c */
8 /* (c) copyright 1991-1995 Laboratoire MASI equipe CAO & VLSI */
9 /* Tous droits reserves */
10 /* Support : e-mail cao-vlsi@masi.ibp.fr */
12 /* Auteur(s) : Payam KIANI */
14 /****************************************************************************/
15 /* traitement des erreur elp */
16 /****************************************************************************/
22 /*****************************************************************************/
23 /* fonction Error() */
24 /* affichage et gestion des messages. Les erreurs de la bibliotheque ELP n' */
25 /* arretent pas l'execution du programme. Ce sont juste des avertissements. */
26 /* C'est a celui qui travaille avec de faire ce qu'il en veut! */
28 /* Parametres en entree: */
29 /* -------------------- */
30 /* 1) errnum : le numero de l'erreur (> 1000 pour eviter les conflits). */
31 /* 2) va_alist: la fonction est a nombre d'arguments variables. La vari- */
32 /* able va_alist contient tous les autres arguments que le */
33 /* numero de l'erreur. */
35 /* Parametre en sortie: */
36 /* ------------------- */
37 /* La fonction renvoie le numero de l'erreur. */
38 /*****************************************************************************/
39 elperrorFCT
short elpError(short errnum
,...)
46 if(elpLang
== elpENGLISH
)
47 fprintf(stderr
,"\n!!! elp error: %d !!!\n",errnum
) ;
49 fprintf(stderr
,"\n!!! erreur elp : %d !!!\n",errnum
) ;
51 va_start(arg
, errnum
) ;
55 /* fichier techno ne pouvant pas s'ouvrir */
56 case 1000: if(elpLang
== elpENGLISH
)
57 fprintf(stderr
,"can not open the file %s\n",
60 fprintf(stderr
,"le fichier %s ne peut pas s'ouvrir\n",
64 /* erreur de syntaxe dans le fichier techno */
65 case 1001: pt
= va_arg(arg
,char *) ;
66 line
= va_arg(arg
,int) ;
67 if(elpLang
== elpENGLISH
)
68 fprintf(stderr
,"syntax error on %s at line %d\n",pt
,line
) ;
70 fprintf(stderr
,"erreur de syntaxe sur %s ligne %d\n",pt
,line
) ;
73 /* erreur dans le parser */
74 case 1002: if(elpLang
== elpENGLISH
)
75 fprintf(stderr
,"loading error: %s\n",va_arg(arg
,char *)) ;
77 fprintf(stderr
,"erreur de chargement: %s\n",
81 /* fichier techno ne pouvant pas etre ferme */
82 case 1003: if(elpLang
== elpENGLISH
)
83 fprintf(stderr
,"can not close the file %s\n",
86 fprintf(stderr
,"le fichier %s ne peut pas se ferme\n",
90 /* paramtetre obligatoire manquant */
91 case 1004: if(elpLang
== elpENGLISH
)
92 fprintf(stderr
,"incomplete technology file %s\n",
95 fprintf(stderr
,"fichier techno incomplet %s\n",
99 case 1005: if(elpLang
== elpENGLISH
)
100 fprintf(stderr
,"no %s capacitance parameters\n",
101 va_arg(arg
,char *)) ;
103 fprintf(stderr
,"pas de parametre de capacite de %s\n",
104 va_arg(arg
,char *)) ;
106 case 1006: if(elpLang
== elpENGLISH
)
107 fprintf(stderr
,"bad transistor model name in %s \n",
108 va_arg(arg
,char *)) ;
110 fprintf(stderr
,"mauvais nom de modele de transistor dans %s\n",
111 va_arg(arg
,char *)) ;
113 case 1007: if(elpLang
== elpENGLISH
)
114 fprintf(stderr
,"no model for transistor %s \n",
115 va_arg(arg
,char *)) ;
117 fprintf(stderr
,"pas de modele pour le transistor %s\n",
118 va_arg(arg
,char *)) ;
120 case 1008: pt
= va_arg(arg
,char *) ;
121 ptx
= va_arg(arg
,char *) ;
122 if(elpLang
== elpENGLISH
)
123 fprintf(stderr
,"no model for transistor %s use %s\n",pt
,ptx
) ;
125 fprintf(stderr
,"pas de modele pour le transistor %s utilisation de %s\n",pt
,ptx
) ;
127 case 1009: if(elpLang
== elpENGLISH
)
128 fprintf(stderr
,"can't get model for transistor %s \n",
129 va_arg(arg
,char *)) ;
131 fprintf(stderr
,"obtention de modele impossible pour le transistor %s\n",
132 va_arg(arg
,char *)) ;