From 956aa2b9bcf6171234bc9749acbfabf8660beade Mon Sep 17 00:00:00 2001 From: ukashanoor Date: Tue, 27 Jun 2017 12:40:50 +0530 Subject: matrix complete --- macros/ASTManagement/AST_HandleCC.sci | 88 +++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 macros/ASTManagement/AST_HandleCC.sci (limited to 'macros/ASTManagement/AST_HandleCC.sci') diff --git a/macros/ASTManagement/AST_HandleCC.sci b/macros/ASTManagement/AST_HandleCC.sci new file mode 100644 index 00000000..d0a2244b --- /dev/null +++ b/macros/ASTManagement/AST_HandleCC.sci @@ -0,0 +1,88 @@ +function [RhsNames,RhsScope,NRhs] = AST_HandleCC(FileInfo,SharedInfo) +// function [FileInfo,SharedInfo] = AST_HandleEndGenFun(FileInfo,SharedInfo,ASTFunType) +// ----------------------------------------------------------------- +// #RNU_RES_B +// Handles the EndFuncall, EndOperation and EndEqual tags of the AST. +// ASTFunType can be 'Funcall', 'Operation', 'Equal' +// Structure of Funcall: +// overloading function for "funcall" type tlist string function +// this is a node of the AST +// fields: +// rhs : a list +// name : string, the name of the function +// lhsnb: number, the number of function lhs +// txt=['Funcall : '+F.name +// ' #lhs : '+string(F.lhsnb) +// ' Rhs : ' +// ' '+objectlist2string(F.rhs) +// 'EndFuncall' +// ] +// #RNU_RES_E +// +// Input data: +// //NUT: add description here +// +// Output data: +// //NUT: add description here +// +// Status: +// 11-Apr-2007 -- Raffaele Nutricato: Author. +// +// Copyright 2007 Raffaele Nutricato. +// Contact: raffaele.nutricato@tiscali.it +// ----------------------------------------------------------------- + +ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName; + +// ------------------------------ +// --- Check input arguments. --- +// ------------------------------ + + +global SCI2CSTACK +global StackPosition; +global STACKDEDUG +// --------------------------- +// --- End Initialization. --- +// --------------------------- + + +// ------------------------------ +// --- Read input parameters. --- +// ------------------------------ +cntpop = 1; +NRhs = 0; +RhsField(cntpop) = AST_PopASTStack(); +RhsNames = []; +while (RhsField(cntpop) ~= 'Expression:') + if RhsField(cntpop) <> 'Operands:' & RhsField(cntpop) <> 'Begin:' + NRhs = NRhs + 1; + + [RhsNames(NRhs),RhsScope(NRhs)] = AST_ExtractNameAndScope(RhsField(cntpop)); + end + cntpop = cntpop + 1; + RhsField(cntpop) = AST_PopASTStack(); +end +RhsNames = SCI2Cflipud(RhsNames); +RhsScope = SCI2Cflipud(RhsScope); + +// --- Repush everything into the stack. --- +for cntpush = cntpop:-1:1 + if RhsField(cntpush) <> 'Operands:' & RhsField(cntpush) <> 'Begin:' + PrintStringInfo(' ' + RhsField(cntpush),ReportFileName,'file','y'); + AST_PushASTStack(RhsField(cntpush)); + end +end + + +//for counterinputargs = 1:NRhs + //#RNU_RES_B + //disp(counterinputargs); + //PrintStringInfo('Input Argument Number '+string(counterinputargs)+': '+RhsNames(counterinputargs).Name,... + // ReportFileName,'file','y'); + //PrintStringInfo(' Scope: '+RhsNames(counterinputargs).Scope,... + // ReportFileName,'file','y'); + //#RNU_RES_E +//end + +endfunction -- cgit From 43592401ec4efefec61c236cd90b063a90a981b8 Mon Sep 17 00:00:00 2001 From: ukashanoor Date: Wed, 28 Jun 2017 16:30:53 +0530 Subject: float matrix done and func disp --- macros/ASTManagement/AST_HandleCC.sci | 2 ++ 1 file changed, 2 insertions(+) (limited to 'macros/ASTManagement/AST_HandleCC.sci') diff --git a/macros/ASTManagement/AST_HandleCC.sci b/macros/ASTManagement/AST_HandleCC.sci index d0a2244b..0b9e4d9c 100644 --- a/macros/ASTManagement/AST_HandleCC.sci +++ b/macros/ASTManagement/AST_HandleCC.sci @@ -32,6 +32,8 @@ function [RhsNames,RhsScope,NRhs] = AST_HandleCC(FileInfo,SharedInfo) // Contact: raffaele.nutricato@tiscali.it // ----------------------------------------------------------------- +SCI2CNInArgCheck(argn(2),2,2) + ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName; // ------------------------------ -- cgit From ec1677606d3e636a47d4fd0853f83868b3953314 Mon Sep 17 00:00:00 2001 From: ukashanoor Date: Fri, 7 Jul 2017 17:12:14 +0530 Subject: array declaration --- macros/ASTManagement/AST_HandleCC.sci | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) (limited to 'macros/ASTManagement/AST_HandleCC.sci') diff --git a/macros/ASTManagement/AST_HandleCC.sci b/macros/ASTManagement/AST_HandleCC.sci index cc411549..897a06f1 100644 --- a/macros/ASTManagement/AST_HandleCC.sci +++ b/macros/ASTManagement/AST_HandleCC.sci @@ -8,7 +8,9 @@ // Author: Ukasha Noor // Organization: FOSSEE, IIT Bombay // Email: toolbox@scilab.in - +// This function is used for 2D array declaration +// This function extracts the input arguments in the array and check there Name and Scope. +// Then repush everything back to stack function [RhsNames,RhsScope,NRhs] = AST_HandleCC(FileInfo,SharedInfo) SCI2CNInArgCheck(argn(2),2,2) @@ -56,14 +58,6 @@ for cntpush = cntpop:-1:1 end -//for counterinputargs = 1:NRhs - //#RNU_RES_B - //disp(counterinputargs); - //PrintStringInfo('Input Argument Number '+string(counterinputargs)+': '+RhsNames(counterinputargs).Name,... - // ReportFileName,'file','y'); - //PrintStringInfo(' Scope: '+RhsNames(counterinputargs).Scope,... - // ReportFileName,'file','y'); - //#RNU_RES_E -//end + endfunction -- cgit