
/****************************************************************************/
/*                                                                          */
/*                      Chaine de CAO & VLSI   Alliance                     */
/*                                                                          */
/*    Produit :  Synthetiseur de FSM                                       */
/*    Fichier :  syf_stat.c                                                  */
/*                                                                          */
/*    (c) copyright 1992 Laboratoire MASI equipe CAO & VLSI                 */
/*    Tous droits reserves                                                  */
/*    Support : e-mail cao-vlsi@masi.ibp.fr                                 */
/*                                                                          */
/*    Auteur(s) :  C. Sarwary                            le : 28/01/1992     */
/*                                                                          */
/*    Modifie par :                                     le : ../../....     */
/*    Modifie par :                                     le : ../../....     */
/*    Modifie par :                                     le : ../../....     */
/*                                                                          */
/***************************************************************************/
#include<stdio.h>
#include<math.h>
#include<time.h>
#include<fcntl.h>
#include MUT_H
#include LOG_H
#include "syf_auto.h"
#include "../util/util.h"
extern char *FILE_NAME ;
/*------------------------------------------------------------------------------
saveCode	: met dans un fichier le resultat du codage : couple (etat, code).
--------------------------------------------------------------
parametres	: aucun.
--------------------------------------------------------------
return		: .
------------------------------------------------------------------------------*/
saveCode()
{
int i; 
FILE *fic;
pState state;
char fileName[100];
char name[50] ;
char *path ;
int len ;
char *getenv() ;

if (getenv("MBK_WORK_LIB"))
	{
	path = (char *)mbkalloc(70) ;
	strcpy(path,getenv("MBK_WORK_LIB")) ;
	strcpy(fileName,path);
	strcat(fileName,"/");
	strcat(fileName,autoSys->name);
	}
else
	strcpy(fileName,autoSys->name);
i = strlen(fileName);
fileName[i+1] = '\0';
strcat(fileName,".cod");
if(!(fic = fopen(fileName,"w")))
	{
	printf("File creation impossible : %s\n",fileName);
	return(-1);
	} 

strcpy(name,autoSys->name) ;
len = strlen(name) ;
name[len-1] = '\0' ;

fprintf(fic,"#Encoding file for : %s\n\n",FILE_NAME);
/*fprintf(fic,"#Encoding Algorithme : %s\n\n",autoSys->codage);*/
state = autoSys->state;
for(i = 0; i < autoSys->numberState; i++)
	fprintf(fic,"%s		%x\n",(state+i)->name, (autoSys->code + i)->code);
	/*fprintf(fic,"%x ", (autoSys->code + i)->code) ;*/
fclose(fic) ;
}
