From 42659d6cdbe63972aea27baf0289db8fcc1310fa Mon Sep 17 00:00:00 2001 From: pmarecha Date: Thu, 5 Jun 2008 08:49:05 +0000 Subject: SVN is not FTP ! --- src/Scilab2C/Annotations/Sci2AnnotationFile.sci | 73 +++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/Scilab2C/Annotations/Sci2AnnotationFile.sci (limited to 'src/Scilab2C/Annotations/Sci2AnnotationFile.sci') diff --git a/src/Scilab2C/Annotations/Sci2AnnotationFile.sci b/src/Scilab2C/Annotations/Sci2AnnotationFile.sci new file mode 100644 index 00000000..a7046543 --- /dev/null +++ b/src/Scilab2C/Annotations/Sci2AnnotationFile.sci @@ -0,0 +1,73 @@ +function Sci2AnnotationFile(FileInfoDatFile,SciFileName) +// function Sci2AnnotationFile(FileInfoDatFile,SciFileName) +// -------------------------------------------------------------------------------- +// This function reads the .sci input file and generates the correspondig .ann +// file. +// +// Input data: +// FileInfoDatFile: name of the .dat file containing the FileInfo structure. +// +// Output data: +// +// Status: +// 25-Jun-2007 -- Nutricato Raffaele: Author. +// ----------------------------------------------------------------- + +// --------------------- +// --- Load section. --- +// --------------------- +// --- Load File Info Structure. --- +load(FileInfoDatFile,'FileInfo'); + +// --- Load Shared Info Structure. --- +load(FileInfo.SharedInfoDatFile,'SharedInfo'); + +// --- Extraction of the function name and number. --- +funname = SharedInfo.Next(1).SCIFunName; +funnumber = SharedInfo.NextSCIFunNumber; +// ------------------------- +// --- End load section. --- +// ------------------------- + +// --- File names initialization. --- +[tmppath,tmpname,tmpext] = fileparts(SciFileName); +AnnFileName = fullfile(FileInfo.USER2CLibAnnDirName,tmpname+'.ann'); + +PrintStepInfo('Generate annotations file: '+AnnFileName,... + FileInfo.GeneralReport,'both'); + +// --------------------------------------- +// --- Open the .sci file (read only). --- +// --------------------------------------- +[inscifid,inscierr] = mopen(SciFileName,'r'); +if (inscierr < 0) + SCI2Cerror(['Cannot open (in read mode): '+SciFileName]); +end + +// ---------------------------------------------- +// --- Loop over the lines of the input file. --- +// ---------------------------------------------- +line_position = 0; +while (meof(inscifid) == 0) + check_string = stripblanks(mgetl(inscifid,1)); + line_position = line_position + 1; + if (length(check_string) >= 1) + if ((SCI2Cstrncmps1size(SharedInfo.Annotations.GBLVAR,check_string)) | ... + (SCI2Cstrncmps1size(SharedInfo.Annotations.VARTYPE,check_string)) | ... + (SCI2Cstrncmps1size(SharedInfo.Annotations.FUNNOUT,check_string)) | ... + (SCI2Cstrncmps1size(SharedInfo.Annotations.FUNSIZE,check_string)) | ... + (SCI2Cstrncmps1size(SharedInfo.Annotations.FUNTYPE,check_string))) + PrintStringInfo('Line '+string(line_position)+' - Found Annotation:: '+' ""'+check_string+' ""',... + FileInfo.GeneralReport,'file','y'); + PrintStringInfo(check_string,... + AnnFileName,'file','y'); + + end + end +end +// -------------------------------------------------- +// --- End loop over the lines of the input file. --- +// -------------------------------------------------- + +mclose(inscifid); +endfunction -- cgit