summaryrefslogtreecommitdiff
path: root/macros/SymbolTable/ST_MatchSymbol.sci
diff options
context:
space:
mode:
Diffstat (limited to 'macros/SymbolTable/ST_MatchSymbol.sci')
-rw-r--r--macros/SymbolTable/ST_MatchSymbol.sci138
1 files changed, 69 insertions, 69 deletions
diff --git a/macros/SymbolTable/ST_MatchSymbol.sci b/macros/SymbolTable/ST_MatchSymbol.sci
index 504379c2..2119c302 100644
--- a/macros/SymbolTable/ST_MatchSymbol.sci
+++ b/macros/SymbolTable/ST_MatchSymbol.sci
@@ -1,69 +1,69 @@
-function [TBFlagfound,TBFlagEqualSymbols] = ST_MatchSymbol(TBName,TBType,TBSize,TBValue,TBFindLike,TBDimension,SymbolTableFileName,MatchRule)
-// function [TBFlagfound,TBFlagEqualSymbols] = ST_MatchSymbol(TBName,TBType,TBSize,TBValue,TBFindLike,TBDimension,SymbolTableFileName,MatchRule)
-// -----------------------------------------------------------------
-// Match function for the symbol table.
-//
-// Input data:
-// MatchRule: can be 'all','type','size','none'
-// //NUT: add description here
-//
-// Output data:
-// TBFlagfound: 0 = if the symbol doesn't exits.
-// 1 = the symbol exits.
-// 2 = the symbol exists but it is a non-initialized global variable.
-// TBFlagEqualSymbols: 0 if the two symbols don't have the same settings,
-// 1 if the two symbols have the same settings.
-//
-// Status:
-// 26-Oct-2007 -- Raffaele Nutricato: Author.
-// 26-Oct-2007 -- Alberto Morea: Test Ok.
-//
-// Copyright 2007 Raffaele Nutricato & Alberto Morea.
-// Contact: raffaele.nutricato@tiscali.it
-// -----------------------------------------------------------------
-
-
-// ------------------------------
-// --- Check input arguments. ---
-// ------------------------------
-SCI2CNInArgCheck(argn(2),8,8);
-
-TBFlagfound = 0;
-TBFlagEqualSymbols = 0;
-
-// --- Find symbol (If exists). ---
-[TBFlagfound,tmpType,tmpSize,tmpValue,tmpFindLike,tmpDimension] = ...
- ST_Get(TBName,SymbolTableFileName);
-if (TBFlagfound == 1)
- if (tmpType == 'GBLToBeDefined')
- TBFlagfound = 2;
- TBFlagEqualSymbols = 0; // I don't want to force the error issue in ST_InsOutArg.sci
- else
- // Symbol already exists. Check that it has the same settings of the current output argument.
- TBFlagEqualSymbols = 1;
- if (MatchRule == 'type' | MatchRule == 'all')
- if (mtlb_strcmp(tmpType,TBType) == %F)
- TBFlagEqualSymbols = 0;
- end
- end
- if (MatchRule == 'size' | MatchRule == 'all')
- // First check the dimension.
- if (tmpDimension ~= TBDimension)
- TBFlagEqualSymbols = 0;
- end
- // Then if the size is a number also its value is compared.
- if (isnum(tmpSize(1))) & (isnum(TBSize(1)))
- if (mtlb_strcmp(tmpSize(1),TBSize(1)) == %F)
- TBFlagEqualSymbols = 0;
- end
- end
- if (isnum(tmpSize(2))) & (isnum(TBSize(2)))
- if (mtlb_strcmp(tmpSize(2),TBSize(2)) == %F)
- TBFlagEqualSymbols = 0;
- end
- end
- end
- end
-end
-
-endfunction
+function [TBFlagfound,TBFlagEqualSymbols] = ST_MatchSymbol(TBName,TBType,TBSize,TBValue,TBFindLike,TBDimension,SymbolTableFileName,MatchRule)
+// function [TBFlagfound,TBFlagEqualSymbols] = ST_MatchSymbol(TBName,TBType,TBSize,TBValue,TBFindLike,TBDimension,SymbolTableFileName,MatchRule)
+// -----------------------------------------------------------------
+// Match function for the symbol table.
+//
+// Input data:
+// MatchRule: can be 'all','type','size','none'
+// //NUT: add description here
+//
+// Output data:
+// TBFlagfound: 0 = if the symbol doesn't exits.
+// 1 = the symbol exits.
+// 2 = the symbol exists but it is a non-initialized global variable.
+// TBFlagEqualSymbols: 0 if the two symbols don't have the same settings,
+// 1 if the two symbols have the same settings.
+//
+// Status:
+// 26-Oct-2007 -- Raffaele Nutricato: Author.
+// 26-Oct-2007 -- Alberto Morea: Test Ok.
+//
+// Copyright 2007 Raffaele Nutricato & Alberto Morea.
+// Contact: raffaele.nutricato@tiscali.it
+// -----------------------------------------------------------------
+
+
+// ------------------------------
+// --- Check input arguments. ---
+// ------------------------------
+SCI2CNInArgCheck(argn(2),8,8);
+
+TBFlagfound = 0;
+TBFlagEqualSymbols = 0;
+
+// --- Find symbol (If exists). ---
+[TBFlagfound,tmpType,tmpSize,tmpValue,tmpFindLike,tmpDimension] = ...
+ ST_Get(TBName,SymbolTableFileName);
+if (TBFlagfound == 1)
+ if (tmpType == 'GBLToBeDefined')
+ TBFlagfound = 2;
+ TBFlagEqualSymbols = 0; // I don't want to force the error issue in ST_InsOutArg.sci
+ else
+ // Symbol already exists. Check that it has the same settings of the current output argument.
+ TBFlagEqualSymbols = 1;
+ if (MatchRule == 'type' | MatchRule == 'all')
+ if (mtlb_strcmp(tmpType,TBType) == %F)
+ TBFlagEqualSymbols = 0;
+ end
+ end
+ if (MatchRule == 'size' | MatchRule == 'all')
+ // First check the dimension.
+ if (tmpDimension ~= TBDimension)
+ TBFlagEqualSymbols = 0;
+ end
+ // Then if the size is a number also its value is compared.
+ if (isnum(tmpSize(1))) & (isnum(TBSize(1)))
+ if (mtlb_strcmp(tmpSize(1),TBSize(1)) == %F)
+ TBFlagEqualSymbols = 0;
+ end
+ end
+ if (isnum(tmpSize(2))) & (isnum(TBSize(2)))
+ if (mtlb_strcmp(tmpSize(2),TBSize(2)) == %F)
+ TBFlagEqualSymbols = 0;
+ end
+ end
+ end
+ end
+end
+
+endfunction