summaryrefslogtreecommitdiff
path: root/macros/CCodeGeneration
diff options
context:
space:
mode:
authorukashanoor2017-06-27 12:40:50 +0530
committerukashanoor2017-06-27 12:40:50 +0530
commit956aa2b9bcf6171234bc9749acbfabf8660beade (patch)
treeffc914d9f15bbcce2154c4bcc702cb691004250f /macros/CCodeGeneration
parent785e19f097f7ca1964edaf159c9adfe2eda733b5 (diff)
downloadScilab2C_fossee_old-956aa2b9bcf6171234bc9749acbfabf8660beade.tar.gz
Scilab2C_fossee_old-956aa2b9bcf6171234bc9749acbfabf8660beade.tar.bz2
Scilab2C_fossee_old-956aa2b9bcf6171234bc9749acbfabf8660beade.zip
matrix complete
Diffstat (limited to 'macros/CCodeGeneration')
-rw-r--r--macros/CCodeGeneration/C_FinalizeCode.binbin0 -> 18232 bytes
-rw-r--r--macros/CCodeGeneration/C_ForExpression.binbin0 -> 32208 bytes
-rw-r--r--macros/CCodeGeneration/C_Funcall.binbin0 -> 73176 bytes
-rw-r--r--macros/CCodeGeneration/C_GenDeclarations.binbin0 -> 22004 bytes
-rw-r--r--macros/CCodeGeneration/C_GenDeclarations_Dup.binbin0 -> 24932 bytes
-rw-r--r--macros/CCodeGeneration/C_GenDeclarations_Dup.sci155
-rw-r--r--macros/CCodeGeneration/C_GenerateFunName.binbin0 -> 7776 bytes
-rw-r--r--macros/CCodeGeneration/C_GenerateLaunchScript.binbin0 -> 17232 bytes
-rw-r--r--macros/CCodeGeneration/C_GenerateMakefile.binbin0 -> 32632 bytes
-rw-r--r--macros/CCodeGeneration/C_GenerateMakefile_msvc.binbin0 -> 29868 bytes
-rw-r--r--macros/CCodeGeneration/C_GenerateMkfle_arduino.binbin0 -> 3104 bytes
-rw-r--r--macros/CCodeGeneration/C_GenerateSCI2CHeader.binbin0 -> 1936 bytes
-rw-r--r--macros/CCodeGeneration/C_IfElseBlocks.binbin0 -> 8516 bytes
-rw-r--r--macros/CCodeGeneration/C_IfExpression.binbin0 -> 12440 bytes
-rw-r--r--macros/CCodeGeneration/C_IndentBlanks.binbin0 -> 3184 bytes
-rw-r--r--macros/CCodeGeneration/C_InitHeader.binbin0 -> 14140 bytes
-rw-r--r--macros/CCodeGeneration/C_MemAllocOutTempVars.binbin0 -> 12996 bytes
-rw-r--r--macros/CCodeGeneration/C_SCI2CHeader.binbin0 -> 7268 bytes
-rw-r--r--macros/CCodeGeneration/C_Type.binbin0 -> 6816 bytes
-rw-r--r--macros/CCodeGeneration/C_WhileExpression.binbin0 -> 15704 bytes
-rw-r--r--macros/CCodeGeneration/GenCFunDatFiles.binbin0 -> 9348 bytes
-rw-r--r--macros/CCodeGeneration/GetClsFileName.binbin0 -> 14164 bytes
-rw-r--r--macros/CCodeGeneration/GetSymbolDimension.binbin0 -> 8944 bytes
-rw-r--r--macros/CCodeGeneration/GetWhileCondVariable.binbin0 -> 10228 bytes
-rw-r--r--macros/CCodeGeneration/JoinDeclarAndCcode.binbin0 -> 22776 bytes
-rw-r--r--macros/CCodeGeneration/Sci2AnnotationFile.binbin0 -> 7400 bytes
-rw-r--r--macros/CCodeGeneration/libbin936 -> 936 bytes
-rw-r--r--macros/CCodeGeneration/names2
28 files changed, 156 insertions, 1 deletions
diff --git a/macros/CCodeGeneration/C_FinalizeCode.bin b/macros/CCodeGeneration/C_FinalizeCode.bin
new file mode 100644
index 0000000..b400591
--- /dev/null
+++ b/macros/CCodeGeneration/C_FinalizeCode.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_ForExpression.bin b/macros/CCodeGeneration/C_ForExpression.bin
new file mode 100644
index 0000000..1c3f674
--- /dev/null
+++ b/macros/CCodeGeneration/C_ForExpression.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_Funcall.bin b/macros/CCodeGeneration/C_Funcall.bin
new file mode 100644
index 0000000..80fda7c
--- /dev/null
+++ b/macros/CCodeGeneration/C_Funcall.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_GenDeclarations.bin b/macros/CCodeGeneration/C_GenDeclarations.bin
new file mode 100644
index 0000000..c3b3600
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenDeclarations.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_GenDeclarations_Dup.bin b/macros/CCodeGeneration/C_GenDeclarations_Dup.bin
new file mode 100644
index 0000000..ab05955
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenDeclarations_Dup.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_GenDeclarations_Dup.sci b/macros/CCodeGeneration/C_GenDeclarations_Dup.sci
new file mode 100644
index 0000000..46d9de7
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenDeclarations_Dup.sci
@@ -0,0 +1,155 @@
+function Cdeclaration = C_GenDeclarations_Dup(InArg,NInArg,com_type,ArgStruct,CDeclarationFileName,IndentLevel,ReportFileName,FlagExt,ResizeApproach)
+// function Cdeclaration = C_GenDeclarations(ArgStruct,CDeclarationFileName,IndentLevel,ReportFileName,FlagExt,ResizeApproach)
+// -----------------------------------------------------------------
+// //NUT: add description here
+//
+// Input data:
+// //NUT: add description here
+//
+// Output data:
+// //NUT: add description here
+//
+// Status:
+// 27-Oct-2007 -- Raffaele Nutricato: Author.
+// 10-Jun-2008 -- Raffaele Nutricato: adapted to work with realloc function.
+//
+// Copyright 2007 Raffaele Nutricato.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// Generate C corresponding declaration given some information in ArgStruct
+//
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+ //SCI2CNInArgCheck(argn(2),6,6);
+// #RNU_RES_B
+//NUT: ilnome di questa funzione va cambiato perche' le dichiarazioni le fanno anche i for e i while.
+
+PrintStringInfo(' ',ReportFileName,'file','y');
+PrintStringInfo('***Generating C declaration***',ReportFileName,'file','y');
+// #RNU_RES_E
+
+Cdeclaration = '';
+if (ArgStruct.Dimension > 0)
+ if (FlagExt == 1)
+ Cdeclaration(1) = 'extern ';
+ Cdeclaration(2) = 'extern ';
+ else
+ Cdeclaration(1) = '';
+ Cdeclaration(2) = '';
+ end
+// #RNU_RES_B
+//NUT: vedi Mem_Alloc_Out per maggiori info sulla rimozione della temp nella if
+// if ((ArgStruct.Scope=='Temp') | (ArgStruct.FindLike == -1) | (isnum(ArgStruct.Size(1))==%F) | (isnum(ArgStruct.Size(2))==%F))
+// #RNU_RES_E
+ if (ArgStruct.Type=='g')
+// if (isnan(ArgStruct.Value) )
+ if ((isnum(ArgStruct.Size(1))==%F) | (isnum(ArgStruct.Size(2))==%F) )
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+...
+ ' * '+ArgStruct.Name+';';
+ else
+ if ((FlagExt == 1) | (isnan(ArgStruct.Value)))
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+...
+ ' '+ArgStruct.Name+'['+ArgStruct.Size(1)+'*'+ArgStruct.Size(2)+'];';
+ else
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+...
+ ' '+ArgStruct.Name+'['+ArgStruct.Size(1)+'*'+ArgStruct.Size(2)+'] = {'+ArgStruct.Value+'};';
+ end
+ end
+ Cdeclaration(2) = Cdeclaration(2)+C_Type('i')+' __'+ArgStruct.Name+'Size[2] = {'+ArgStruct.Size(1)+','+ArgStruct.Size(2)+'};';
+ elseif ((ArgStruct.FindLike == -1) | ...
+ (isnum(ArgStruct.Size(1))==%F) | (isnum(ArgStruct.Size(2))==%F) | ...
+ (ResizeApproach=='REALLOC_ALL_RESIZE_ALL' & ArgStruct.Type~='g'))
+// #RNU_RES_B
+//RNU sulle stringhe non ho ancora deciso se applicare la realloc.
+// Generate only the pointer that will be used by the malloc function.
+// #RNU_RES_E
+ if (FlagExt == 1)
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+'* '+...
+ ArgStruct.Name+';';
+ else
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+'* '+...
+ ArgStruct.Name+' = NULL;';
+ end
+// Declare the Size array
+ Cdeclaration(2) = Cdeclaration(2)+C_Type('i')+' __'+ArgStruct.Name+'Size[2];';
+ else
+// Declare the array with its size.
+ computedSize = ArgStruct.Size(1);
+ computedSizeLength = size(ArgStruct.Size, '*');
+ computedSizeField = ArgStruct.Size(1);
+ for sizeIterator = 2:computedSizeLength;
+ computedSize = computedSize + ' * ' + ArgStruct.Size(sizeIterator);
+ computedSizeField = computedSizeField + ', ' + ArgStruct.Size(sizeIterator);
+ end
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+' '+ArgStruct.Name+'['+computedSize+']={';
+ if com_type == 0
+ for i = 1:NInArg-1
+ Cdeclaration(1) = Cdeclaration(1)+InArg(i).Name+',';
+ end
+ Cdeclaration(1) = Cdeclaration(1)+InArg(NInArg).Name+'};';
+ else
+ for i=1:NInArg-1
+ if InArg(i).Type <> 'z'
+ Cdeclaration(1) = Cdeclaration(1)+InArg(i).Name+',0,';
+ else
+ Cdeclaration(1) = Cdeclaration(1)+InArg(i).Name+',';
+ end
+ end
+ if InArg(NInArg).Type <> 'z'
+ Cdeclaration(1) = Cdeclaration(1) + InArg(NInArg).Name + ',0};'
+ else
+ Cdeclaration(1) = Cdeclaration(1) + InArg(NInArg).Name + '};'
+ end
+ end
+ Cdeclaration(2) = Cdeclaration(2)+C_Type('i')+' __'+ArgStruct.Name+'Size['+string(computedSizeLength)+']';
+ if (FlagExt <> 1)
+ Cdeclaration(2) = Cdeclaration(2)+' = {'+computedSizeField+'};';
+ end
+ Cdeclaration(2) = Cdeclaration(2)+';';
+ end
+else
+ if (ArgStruct.Type == 'fn')
+ //do nothing. This is a function name. Will be declared in header file.
+ else
+ if (FlagExt == 1)
+ Cdeclaration(1) = 'extern ';
+ else
+ Cdeclaration(1) = '';
+ end
+ Cdeclaration(1) = Cdeclaration(1)+C_Type(ArgStruct.Type)+' '+ArgStruct.Name;
+ if (~isnan(ArgStruct.Value) & (FlagExt == 0))
+ if isreal(ArgStruct.Value)
+ Cdeclaration(1) = Cdeclaration(1)+' = '+SCI2Cstring(ArgStruct.Value);
+ else
+ if (ArgStruct.Type == 'z')
+ Cdeclaration(1) = Cdeclaration(1)+' = DoubleComplex('+SCI2Cstring(real(ArgStruct.Value))+','+SCI2Cstring(imag(ArgStruct.Value))+')';
+ else
+ Cdeclaration(1) = Cdeclaration(1)+' = FloatComplex('+SCI2Cstring(real(ArgStruct.Value))+','+SCI2Cstring(imag(ArgStruct.Value))+')';
+ end
+ end
+ end
+ Cdeclaration(1) = Cdeclaration(1)+';';
+ end
+end
+
+
+// --------------------------------------------
+// --- Write C declaration into the C file. ---
+// --------------------------------------------
+PrintStringInfo(' ',CDeclarationFileName,'file','y');
+for cntdecl = 1:size(Cdeclaration, '*')
+ PrintStringInfo(' '+Cdeclaration(cntdecl),ReportFileName,'file','y');
+ PrintStringInfo(C_IndentBlanks(IndentLevel)+Cdeclaration(cntdecl),CDeclarationFileName,'file','y');
+end
+
+PrintStringInfo(' Writing C declaration in: '+CDeclarationFileName,ReportFileName,'file','y');
+PrintStringInfo(' ',CDeclarationFileName,'file','y');
+
+endfunction
+// #RNU_RES_B
+//NUT: dove sta il controllo che verifica se dopo aver dichiarato una local A[10] essa viene utilizzata
+//NUT: per memorizzare un A = sin(B) dove B[11]??
+// #RNU_RES_E
diff --git a/macros/CCodeGeneration/C_GenerateFunName.bin b/macros/CCodeGeneration/C_GenerateFunName.bin
new file mode 100644
index 0000000..1b723f1
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenerateFunName.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_GenerateLaunchScript.bin b/macros/CCodeGeneration/C_GenerateLaunchScript.bin
new file mode 100644
index 0000000..587c154
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenerateLaunchScript.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_GenerateMakefile.bin b/macros/CCodeGeneration/C_GenerateMakefile.bin
new file mode 100644
index 0000000..cea8641
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenerateMakefile.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_GenerateMakefile_msvc.bin b/macros/CCodeGeneration/C_GenerateMakefile_msvc.bin
new file mode 100644
index 0000000..838c674
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenerateMakefile_msvc.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_GenerateMkfle_arduino.bin b/macros/CCodeGeneration/C_GenerateMkfle_arduino.bin
new file mode 100644
index 0000000..ce25219
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenerateMkfle_arduino.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_GenerateSCI2CHeader.bin b/macros/CCodeGeneration/C_GenerateSCI2CHeader.bin
new file mode 100644
index 0000000..2e02cae
--- /dev/null
+++ b/macros/CCodeGeneration/C_GenerateSCI2CHeader.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_IfElseBlocks.bin b/macros/CCodeGeneration/C_IfElseBlocks.bin
new file mode 100644
index 0000000..332e89b
--- /dev/null
+++ b/macros/CCodeGeneration/C_IfElseBlocks.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_IfExpression.bin b/macros/CCodeGeneration/C_IfExpression.bin
new file mode 100644
index 0000000..b1dc737
--- /dev/null
+++ b/macros/CCodeGeneration/C_IfExpression.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_IndentBlanks.bin b/macros/CCodeGeneration/C_IndentBlanks.bin
new file mode 100644
index 0000000..77bfaeb
--- /dev/null
+++ b/macros/CCodeGeneration/C_IndentBlanks.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_InitHeader.bin b/macros/CCodeGeneration/C_InitHeader.bin
new file mode 100644
index 0000000..567822c
--- /dev/null
+++ b/macros/CCodeGeneration/C_InitHeader.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_MemAllocOutTempVars.bin b/macros/CCodeGeneration/C_MemAllocOutTempVars.bin
new file mode 100644
index 0000000..443ad3c
--- /dev/null
+++ b/macros/CCodeGeneration/C_MemAllocOutTempVars.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_SCI2CHeader.bin b/macros/CCodeGeneration/C_SCI2CHeader.bin
new file mode 100644
index 0000000..1d3e618
--- /dev/null
+++ b/macros/CCodeGeneration/C_SCI2CHeader.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_Type.bin b/macros/CCodeGeneration/C_Type.bin
new file mode 100644
index 0000000..7b5bf44
--- /dev/null
+++ b/macros/CCodeGeneration/C_Type.bin
Binary files differ
diff --git a/macros/CCodeGeneration/C_WhileExpression.bin b/macros/CCodeGeneration/C_WhileExpression.bin
new file mode 100644
index 0000000..5e42650
--- /dev/null
+++ b/macros/CCodeGeneration/C_WhileExpression.bin
Binary files differ
diff --git a/macros/CCodeGeneration/GenCFunDatFiles.bin b/macros/CCodeGeneration/GenCFunDatFiles.bin
new file mode 100644
index 0000000..6a374f5
--- /dev/null
+++ b/macros/CCodeGeneration/GenCFunDatFiles.bin
Binary files differ
diff --git a/macros/CCodeGeneration/GetClsFileName.bin b/macros/CCodeGeneration/GetClsFileName.bin
new file mode 100644
index 0000000..dda0293
--- /dev/null
+++ b/macros/CCodeGeneration/GetClsFileName.bin
Binary files differ
diff --git a/macros/CCodeGeneration/GetSymbolDimension.bin b/macros/CCodeGeneration/GetSymbolDimension.bin
new file mode 100644
index 0000000..5c73f43
--- /dev/null
+++ b/macros/CCodeGeneration/GetSymbolDimension.bin
Binary files differ
diff --git a/macros/CCodeGeneration/GetWhileCondVariable.bin b/macros/CCodeGeneration/GetWhileCondVariable.bin
new file mode 100644
index 0000000..6815fb4
--- /dev/null
+++ b/macros/CCodeGeneration/GetWhileCondVariable.bin
Binary files differ
diff --git a/macros/CCodeGeneration/JoinDeclarAndCcode.bin b/macros/CCodeGeneration/JoinDeclarAndCcode.bin
new file mode 100644
index 0000000..084ab08
--- /dev/null
+++ b/macros/CCodeGeneration/JoinDeclarAndCcode.bin
Binary files differ
diff --git a/macros/CCodeGeneration/Sci2AnnotationFile.bin b/macros/CCodeGeneration/Sci2AnnotationFile.bin
new file mode 100644
index 0000000..95fe561
--- /dev/null
+++ b/macros/CCodeGeneration/Sci2AnnotationFile.bin
Binary files differ
diff --git a/macros/CCodeGeneration/lib b/macros/CCodeGeneration/lib
index 4e87a55..baf9dba 100644
--- a/macros/CCodeGeneration/lib
+++ b/macros/CCodeGeneration/lib
Binary files differ
diff --git a/macros/CCodeGeneration/names b/macros/CCodeGeneration/names
index c4dea61..bf9ced9 100644
--- a/macros/CCodeGeneration/names
+++ b/macros/CCodeGeneration/names
@@ -2,6 +2,7 @@ C_FinalizeCode
C_ForExpression
C_Funcall
C_GenDeclarations
+C_GenDeclarations_Dup
C_GenerateFunName
C_GenerateLaunchScript
C_GenerateMakefile
@@ -12,7 +13,6 @@ C_IfExpression
C_IndentBlanks
C_InitHeader
C_MemAllocOutTempVars
-C_RCOperator
C_SCI2CHeader
C_Type
C_WhileExpression