summaryrefslogtreecommitdiff
path: root/macros/SymbolTable/ST_Save.sci
blob: 44e6e8688e84092345c525b260255a869abffe72 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
function ST_Save(SymbolTableFileName,SCI2CSymbolTable)
// function ST_Save(SymbolTableFileName,SCI2CSymbolTable)
// -----------------------------------------------------------------
// Save into a .dat file a symbol table.
//
// Input data:
// //NUT: add description here
//
// Output data:
// //NUT: add description here
//
// 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),2,2);

[tmpnams,tmptyps,tmpdims,tmpvols]=listvarinfile(SymbolTableFileName);
if (max(size(tmpnams)) > 1)
    SCI2Cerror('More than one variable found in ""'+SymbolTableFileName+'"".');
end

// Identifies the Table name and save it into the .dat file.
if (mtlb_strcmp(tmpnams,'GlobalVars'))
   GlobalVars = SCI2CSymbolTable;
   save(SymbolTableFileName, "GlobalVars");
elseif (mtlb_strcmp(tmpnams,'LocalVars'))
   LocalVars = SCI2CSymbolTable;
   save(SymbolTableFileName, "LocalVars");
elseif (mtlb_strcmp(tmpnams,'TempVars'))
   TempVars = SCI2CSymbolTable;
   save(SymbolTableFileName, "TempVars");
else
   SCI2Cerror('Unknow table: ""'+tmpnams+'"".');
end

endfunction