summaryrefslogtreecommitdiff
path: root/macros/ASTManagement/AST_HandleFunCC.sci
diff options
context:
space:
mode:
Diffstat (limited to 'macros/ASTManagement/AST_HandleFunCC.sci')
-rw-r--r--macros/ASTManagement/AST_HandleFunCC.sci176
1 files changed, 0 insertions, 176 deletions
diff --git a/macros/ASTManagement/AST_HandleFunCC.sci b/macros/ASTManagement/AST_HandleFunCC.sci
deleted file mode 100644
index 1942c74..0000000
--- a/macros/ASTManagement/AST_HandleFunCC.sci
+++ /dev/null
@@ -1,176 +0,0 @@
-// Copyright (C) 2017 - IIT Bombay - FOSSEE
-
-// This file must be used under the terms of the CeCILL.
-// This source file is licensed as described in the file COPYING, which
-// you should have received as part of this distribution. The terms
-// are also available at
-// http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
-// Author: Ukasha Noor
-// Organization: FOSSEE, IIT Bombay
-// Email: toolbox@scilab.in
-
-
-function [FileInfo,SharedInfo] = AST_HandleFunCC(NCol,FileInfo,SharedInfo)
-
-SCI2CNInArgCheck(argn(2),3,3)
-
-// ------------------------------
-// --- Check input arguments. ---
-// ------------------------------
-
-// -----------------------
-// --- Initialization. ---
-// -----------------------
-nxtscifunname = SharedInfo.NextSCIFunName;
-nxtscifunnumber = SharedInfo.NextSCIFunNumber;
-ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName;
-
-global SCI2CSTACK
-global StackPosition;
-global STACKDEDUG
-// ---------------------------
-// --- End Initialization. ---
-// ---------------------------
-
-// ------------------------------
-// --- Read output parameters. --
-// ------------------------------
-LhsField = AST_PopASTStack();
-NOutArg = 0;
-OutputArgumentNames = [];
-OutputArgumentScope = [];
-while (LhsField ~= 'Lhs :')
- NOutArg = NOutArg + 1;
- [OutputArgumentNames(NOutArg),OutputArgumentScope(NOutArg)] = AST_ExtractNameAndScope(LhsField);
- LhsField = AST_PopASTStack();
- if (LhsField == 'Expression:')
- error(9999, 'Found Expression: before Lhs');
- elseif (LhsField == 'Equal')
- error(9999, 'Found Equal before Lhs');
- end
-end
-
-// ------------------------------
-// --- Read input parameters. ---
-// ------------------------------
-
-
-RhsField = AST_PopASTStack();
-InputArgumentNames = [];
-InputArgumentScope = [];
-NInArg = 0;
-InArg = [];
-while (RhsField ~= 'Expression:')
- NInArg = NInArg + 1;
- if RhsField <> 'Operands:'
- [InputArgumentNames(NInArg),InputArgumentScope(NInArg)] = AST_ExtractNameAndScope(RhsField);
- end
- //InArg(NInArg) = RhsField;
- RhsField = AST_PopASTStack();
-end
-InputArgumentNames = SCI2Cflipud(InputArgumentNames);
-InputArgumentScope = SCI2Cflipud(InputArgumentScope);
-
-
-// -------------------------------------
-// --- Generate the InArg structure. ---
-// -------------------------------------
-//#RNU_RES_E
-for counterinputargs = 1:NInArg
- InArg(counterinputargs).Name=InputArgumentNames(counterinputargs);
- InArg(counterinputargs).Scope=InputArgumentScope(counterinputargs);
-end
-
-//#RNU_RES_B
-// -------------------------------------
-// --- Generate the InArg structure. ---
-// -------------------------------------
-//#RNU_RES_E
-OutArg = [];
-for counteroutputargs = 1:NOutArg
- OutArg(counteroutputargs).Name=OutputArgumentNames(counteroutputargs);
- OutArg(counteroutputargs).Scope=OutputArgumentScope(counteroutputargs);
-end
-
-// ------------------------
-// --- Print Some Info. ---
-// ------------------------
-
-PrintStringInfo('N Input Arguments: '+string(NInArg),ReportFileName,'file','y','n');
-PrintStringInfo('N Output Arguments: '+string(NOutArg),ReportFileName,'file','y');
- //#RNU_RES_E
- for counterinputargs = 1:NInArg
- //#RNU_RES_B
- PrintStringInfo('Input Argument Number '+string(counterinputargs)+': '+InArg(counterinputargs).Name,...
- ReportFileName,'file','y','n');
- PrintStringInfo(' Scope: '+InArg(counterinputargs).Scope,...
- ReportFileName,'file','y','n');
- //#RNU_RES_E
- end
- for counteroutputargs = 1:NOutArg
- //#RNU_RES_B
- PrintStringInfo('Output Argument Number '+string(counteroutputargs)+': '+OutArg(counteroutputargs).Name,...
- ReportFileName,'file','y','n');
- //PrintStringInfo(' Scope: '+ OutArg(counterinputargs).Scope,ReportFileName,'file','y','n');
- //#RNU_RES_E
- end
-
-NOutArg_mod = NOutArg;
-
-FunTypeAnnot = '';
-FunSizeAnnot = '';
-NLhsArg = 0;
-LhsArg = [];
-PrintStringInfo('...Equal not found.',ReportFileName,'file','y');
-
-PrintStringInfo('***Analyzing Input Arguments***',ReportFileName,'file','y');
-UpdatedInArg = InArg;
-[InArg,SharedInfo] = ST_GetInArgInfo(InArg,NInArg,FileInfo,SharedInfo,'OpEqual');
-
-NCol = NCol + 1;
-NRow = NInArg/NCol;
-
-com_type = 0;
-for i = 1:NInArg
- if InArg(i).Type == 'z'
- com_type = 1;
- elseif InArg(i).Type == 'c'
- com_type = 2;
- end
-end
-
-
-if com_type == 0
- PrintStringInfo(' Generating Out Arg names.',ReportFileName,'file','y');
- OutArg(1).Type = InArg(1).Type;
- OutArg(1).Size(1) = string(NCol);
- OutArg(1).Size(2) = string(NRow);
- OutArg(1).Dimension = 2;
- OutArg(1).Value = InArg(1).Value;
- OutArg(1).FindLike = InArg(1).FindLike;
-elseif com_type == 1
- PrintStringInfo(' Generating Out Arg names.',ReportFileName,'file','y');
- OutArg(1).Type = 'z';
- OutArg(1).Size(1) = string(NCol);
- OutArg(1).Size(2) = string(NRow);
- OutArg(1).Dimension = 2;
- OutArg(1).Value = InArg(1).Value;
- OutArg(1).FindLike = InArg(1).FindLike;
-else
- PrintStringInfo(' Generating Out Arg names.',ReportFileName,'file','y');
- OutArg(1).Type = 'c';
- OutArg(1).Size(1) = string(NCol);
- OutArg(1).Size(2) = string(NRow);
- OutArg(1).Dimension = 2;
- OutArg(1).Value = InArg(1).Value;
- OutArg(1).FindLike = InArg(1).FindLike;
-end
-
-//--- Check for output Argument in symbol table ---//
-OutArg = ST_AnalyzeScope(OutArg,NOutArg,FileInfo,SharedInfo);
-
-//--- Put the output Argument in symbol table ---//
-ST_InsOutArg_Dup(InArg,NInArg,OutArg,NOutArg,com_type,FileInfo,SharedInfo,'all');
-
-
-endfunction