summaryrefslogtreecommitdiff
path: root/macros/SymbolTable/ST_AnalyzeScope.sci
diff options
context:
space:
mode:
Diffstat (limited to 'macros/SymbolTable/ST_AnalyzeScope.sci')
-rw-r--r--macros/SymbolTable/ST_AnalyzeScope.sci248
1 files changed, 124 insertions, 124 deletions
diff --git a/macros/SymbolTable/ST_AnalyzeScope.sci b/macros/SymbolTable/ST_AnalyzeScope.sci
index 8389c09a..c9e7fa0c 100644
--- a/macros/SymbolTable/ST_AnalyzeScope.sci
+++ b/macros/SymbolTable/ST_AnalyzeScope.sci
@@ -1,124 +1,124 @@
-function OutArg = ST_AnalyzeScope(OldOutArg,NOutArg,FileInfo,SharedInfo);
-// function OutArg = ST_AnalyzeScope(OldOutArg,NOutArg,FileInfo,SharedInfo);
-// -----------------------------------------------------------------
-// //NUT: add description here
-//
-// Input data:
-// //NUT: add description here
-//
-// Output data:
-// //NUT: add description here
-//
-// Status:
-// 26-Oct-2007 -- Raffaele Nutricato: Author.
-//
-// Copyright 2007 Raffaele Nutricato.
-// Contact: raffaele.nutricato@tiscali.it
-// -----------------------------------------------------------------
-
-// ------------------------------
-// --- Check input arguments. ---
-// ------------------------------
-SCI2CNInArgCheck(argn(2),4,4);
-
-// -----------------------
-// --- Initialization. ---
-// -----------------------
-nxtscifunname = SharedInfo.NextSCIFunName;
-nxtscifunnumber = SharedInfo.NextSCIFunNumber;
-ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName;
-
-// #RNU_RES_B
-PrintStringInfo(' ',ReportFileName,'file','y');
-PrintStringInfo('***Getting output arguments info from the symbol table***',ReportFileName,'file','y');
-// #RNU_RES_E
-
-OutArg = OldOutArg;
-GlobalVarsFileName = FileInfo.GlobalVarFileName;
-LocalVarsFileName = FileInfo.Funct(nxtscifunnumber).LocalVarFileName;
-TempVarsFileName = FileInfo.Funct(nxtscifunnumber).TempVarFileName;
-// ---------------------------
-// --- End Initialization. ---
-// ---------------------------
-
-// #RNU_RES_B
-// ------------------------------------------------------------------
-// --- Check if the out variables already exist in symbol tables. ---
-// ------------------------------------------------------------------
-// #RNU_RES_E
-for cntout = 1:NOutArg
-
- // #RNU_RES_B
- PrintStringInfo(' Symbol ""'+OutArg(cntout).Name+'""',ReportFileName,'file','y');
- // #RNU_RES_E
- TBName = OutArg(cntout).Name;
-
- // #RNU_RES_B
- // --- Check in temporary symbol table. ---
- // #RNU_RES_E
- SymbolTableFileName = TempVarsFileName;
- [TBFlagfound,TBType,TBSize,TBValue,TBFindLike,TBDimension] = ...
- ST_Get(TBName,SymbolTableFileName);
- if (TBFlagfound == 0)
- // #RNU_RES_B
- PrintStringInfo(' ...not found in: '+SymbolTableFileName+'.',ReportFileName,'file','y');
- // #RNU_RES_E
- else
- error(9999, 'Found a temp symbol in '+SymbolTableFileName+...
- ' with the same name of the equal output argument ""'+TBName+'"".');
- end
-
- // #RNU_RES_B
- // --- Check in local symbol table. ---
- // #RNU_RES_E
- SymbolTableFileName = LocalVarsFileName;
- [TBFlagfound,TBType,TBSize,TBValue,TBFindLike,TBDimension] = ...
- ST_Get(TBName,SymbolTableFileName);
- if (TBFlagfound == 0)
- // #RNU_RES_B
- PrintStringInfo(' ...not found in: '+SymbolTableFileName+'.',ReportFileName,'file','y');
- // #RNU_RES_E
- else
- // #RNU_RES_B
- PrintStringInfo(' ...found in: '+SymbolTableFileName+'.',ReportFileName,'file','y');
- // #RNU_RES_E
- OutArg(cntout).Scope = 'Local';
- end
- // #RNU_RES_B
- // --- Check in global symbol table. ---
- // #RNU_RES_E
- if (TBFlagfound == 0)
- // Local wins over global.
- SymbolTableFileName = GlobalVarsFileName;
- [TBFlagfound2,TBType,TBSize,TBValue,TBFindLike,TBDimension] = ...
- ST_Get(TBName,SymbolTableFileName);
- if (TBFlagfound2 == 0)
- // #RNU_RES_B
- PrintStringInfo(' ...not found in: '+SymbolTableFileName+'.',ReportFileName,'file','y');
- // #RNU_RES_E
- if SCI2Cstrncmps1size(SharedInfo.ASTReader.TempVarsName,OutArg(cntout).Name)
- OutArg(cntout).Scope = 'Temp';
- else
- OutArg(cntout).Scope = 'Local';
- end
- else
- // #RNU_RES_B
- PrintStringInfo(' ...found in: '+SymbolTableFileName+'.',ReportFileName,'file','y');
- // #RNU_RES_E
- OutArg(cntout).Scope = 'Global';
- end
- end
-
- // #RNU_RES_B
- PrintStringInfo(' Type: '+OutArg(cntout).Type,ReportFileName,'file','y');
- PrintStringInfo(' Size(1): '+string(OutArg(cntout).Size(1)),ReportFileName,'file','y');
- PrintStringInfo(' Size(2): '+string(OutArg(cntout).Size(2)),ReportFileName,'file','y');
- PrintStringInfo(' Value: '+string(OutArg(cntout).Value),ReportFileName,'file','y');
- PrintStringInfo(' FindLike: '+string(OutArg(cntout).FindLike),ReportFileName,'file','y');
- PrintStringInfo(' Dimension: '+string(OutArg(cntout).Dimension),ReportFileName,'file','y');
- PrintStringInfo(' Scope: '+string(OutArg(cntout).Scope),ReportFileName,'file','y');
- PrintStringInfo(' ',ReportFileName,'file','y');
- // #RNU_RES_E
-end
-
-endfunction
+function OutArg = ST_AnalyzeScope(OldOutArg,NOutArg,FileInfo,SharedInfo);
+// function OutArg = ST_AnalyzeScope(OldOutArg,NOutArg,FileInfo,SharedInfo);
+// -----------------------------------------------------------------
+// //NUT: add description here
+//
+// Input data:
+// //NUT: add description here
+//
+// Output data:
+// //NUT: add description here
+//
+// Status:
+// 26-Oct-2007 -- Raffaele Nutricato: Author.
+//
+// Copyright 2007 Raffaele Nutricato.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+SCI2CNInArgCheck(argn(2),4,4);
+
+// -----------------------
+// --- Initialization. ---
+// -----------------------
+nxtscifunname = SharedInfo.NextSCIFunName;
+nxtscifunnumber = SharedInfo.NextSCIFunNumber;
+ReportFileName = FileInfo.Funct(nxtscifunnumber).ReportFileName;
+
+// #RNU_RES_B
+PrintStringInfo(' ',ReportFileName,'file','y');
+PrintStringInfo('***Getting output arguments info from the symbol table***',ReportFileName,'file','y');
+// #RNU_RES_E
+
+OutArg = OldOutArg;
+GlobalVarsFileName = FileInfo.GlobalVarFileName;
+LocalVarsFileName = FileInfo.Funct(nxtscifunnumber).LocalVarFileName;
+TempVarsFileName = FileInfo.Funct(nxtscifunnumber).TempVarFileName;
+// ---------------------------
+// --- End Initialization. ---
+// ---------------------------
+
+// #RNU_RES_B
+// ------------------------------------------------------------------
+// --- Check if the out variables already exist in symbol tables. ---
+// ------------------------------------------------------------------
+// #RNU_RES_E
+for cntout = 1:NOutArg
+
+ // #RNU_RES_B
+ PrintStringInfo(' Symbol ""'+OutArg(cntout).Name+'""',ReportFileName,'file','y');
+ // #RNU_RES_E
+ TBName = OutArg(cntout).Name;
+
+ // #RNU_RES_B
+ // --- Check in temporary symbol table. ---
+ // #RNU_RES_E
+ SymbolTableFileName = TempVarsFileName;
+ [TBFlagfound,TBType,TBSize,TBValue,TBFindLike,TBDimension] = ...
+ ST_Get(TBName,SymbolTableFileName);
+ if (TBFlagfound == 0)
+ // #RNU_RES_B
+ PrintStringInfo(' ...not found in: '+SymbolTableFileName+'.',ReportFileName,'file','y');
+ // #RNU_RES_E
+ else
+ error(9999, 'Found a temp symbol in '+SymbolTableFileName+...
+ ' with the same name of the equal output argument ""'+TBName+'"".');
+ end
+
+ // #RNU_RES_B
+ // --- Check in local symbol table. ---
+ // #RNU_RES_E
+ SymbolTableFileName = LocalVarsFileName;
+ [TBFlagfound,TBType,TBSize,TBValue,TBFindLike,TBDimension] = ...
+ ST_Get(TBName,SymbolTableFileName);
+ if (TBFlagfound == 0)
+ // #RNU_RES_B
+ PrintStringInfo(' ...not found in: '+SymbolTableFileName+'.',ReportFileName,'file','y');
+ // #RNU_RES_E
+ else
+ // #RNU_RES_B
+ PrintStringInfo(' ...found in: '+SymbolTableFileName+'.',ReportFileName,'file','y');
+ // #RNU_RES_E
+ OutArg(cntout).Scope = 'Local';
+ end
+ // #RNU_RES_B
+ // --- Check in global symbol table. ---
+ // #RNU_RES_E
+ if (TBFlagfound == 0)
+ // Local wins over global.
+ SymbolTableFileName = GlobalVarsFileName;
+ [TBFlagfound2,TBType,TBSize,TBValue,TBFindLike,TBDimension] = ...
+ ST_Get(TBName,SymbolTableFileName);
+ if (TBFlagfound2 == 0)
+ // #RNU_RES_B
+ PrintStringInfo(' ...not found in: '+SymbolTableFileName+'.',ReportFileName,'file','y');
+ // #RNU_RES_E
+ if SCI2Cstrncmps1size(SharedInfo.ASTReader.TempVarsName,OutArg(cntout).Name)
+ OutArg(cntout).Scope = 'Temp';
+ else
+ OutArg(cntout).Scope = 'Local';
+ end
+ else
+ // #RNU_RES_B
+ PrintStringInfo(' ...found in: '+SymbolTableFileName+'.',ReportFileName,'file','y');
+ // #RNU_RES_E
+ OutArg(cntout).Scope = 'Global';
+ end
+ end
+
+ // #RNU_RES_B
+ PrintStringInfo(' Type: '+OutArg(cntout).Type,ReportFileName,'file','y');
+ PrintStringInfo(' Size(1): '+string(OutArg(cntout).Size(1)),ReportFileName,'file','y');
+ PrintStringInfo(' Size(2): '+string(OutArg(cntout).Size(2)),ReportFileName,'file','y');
+ PrintStringInfo(' Value: '+string(OutArg(cntout).Value),ReportFileName,'file','y');
+ PrintStringInfo(' FindLike: '+string(OutArg(cntout).FindLike),ReportFileName,'file','y');
+ PrintStringInfo(' Dimension: '+string(OutArg(cntout).Dimension),ReportFileName,'file','y');
+ PrintStringInfo(' Scope: '+string(OutArg(cntout).Scope),ReportFileName,'file','y');
+ PrintStringInfo(' ',ReportFileName,'file','y');
+ // #RNU_RES_E
+end
+
+endfunction