summaryrefslogtreecommitdiff
path: root/macros/ASTManagement/AST_ExtractNameAndScope.sci
diff options
context:
space:
mode:
authorsiddhu89902016-06-14 12:30:32 +0530
committersiddhu89902016-06-14 12:30:32 +0530
commit396de3715ed2615f81325661c264341165f0edb2 (patch)
treec880fb359e61eb0b7ebf12755c4bdae34816f564 /macros/ASTManagement/AST_ExtractNameAndScope.sci
parentc75fb67154fb5679d6ede9a52d5f5ae15600f9f9 (diff)
downloadScilab2C_fossee_old-396de3715ed2615f81325661c264341165f0edb2.tar.gz
Scilab2C_fossee_old-396de3715ed2615f81325661c264341165f0edb2.tar.bz2
Scilab2C_fossee_old-396de3715ed2615f81325661c264341165f0edb2.zip
Support added for diff, norm functions
Diffstat (limited to 'macros/ASTManagement/AST_ExtractNameAndScope.sci')
-rw-r--r--macros/ASTManagement/AST_ExtractNameAndScope.sci17
1 files changed, 15 insertions, 2 deletions
diff --git a/macros/ASTManagement/AST_ExtractNameAndScope.sci b/macros/ASTManagement/AST_ExtractNameAndScope.sci
index 53830cf..fe5dc05 100644
--- a/macros/ASTManagement/AST_ExtractNameAndScope.sci
+++ b/macros/ASTManagement/AST_ExtractNameAndScope.sci
@@ -57,6 +57,7 @@ taglength(cnttag) = length(tagname(cnttag));
fieldlength = length(ASTField);
+
//NUT: il seguente codice e' poco elegante.
if (SCI2Cstrncmps1size(tagname(1),ASTField))
// Here we can have:
@@ -65,24 +66,36 @@ if (SCI2Cstrncmps1size(tagname(1),ASTField))
// Number_d: it means double real type.
// Number_c: it means float complex type.
// Number_z: it means double complex type.
- ArgName = stripblanks(part(ASTField,taglength(1)+3:fieldlength));
- ArgScope = stripblanks(part(ASTField,1:taglength(1)+1));
+
+ // If ArgName is i, make it string
+ if(mtlb_strcmp(ASTField,"Number_x: i") == %T)
+ ArgName = stripblanks(part(ASTField,taglength(1)+3:fieldlength));
+ ArgScope = 'String';
+ else
+ ArgName = stripblanks(part(ASTField,taglength(1)+3:fieldlength));
+ ArgScope = stripblanks(part(ASTField,1:taglength(1)+1));
+ end
elseif (SCI2Cstrncmps1size(tagname(2),ASTField))
ArgName = stripblanks(part(ASTField,taglength(2)+1:fieldlength));
ArgName = part(ArgName,2:length(ArgName)-1); // I remove also the first and the last "
ArgScope = 'String';
+
elseif (SCI2Cstrncmps1size(tagname(3),ASTField))
ArgName = stripblanks(part(ASTField,taglength(3)+1:fieldlength));
ArgScope = 'Variable';
+
elseif (SCI2Cstrncmps1size(tagname(4),ASTField))
ArgName = stripblanks(part(ASTField,taglength(4)+1:fieldlength));
ArgScope = 'Global';
+
elseif (SCI2Cstrncmps1size(tagname(5),ASTField))
ArgName = stripblanks(part(ASTField,taglength(5)+1:fieldlength));
ArgScope = 'Local';
+
elseif (SCI2Cstrncmps1size(tagname(6),ASTField))
ArgName = stripblanks(part(ASTField,taglength(6)+1:fieldlength));
ArgScope = 'Temp';
+
elseif (SCI2Cstrncmps1size(tagname(7),ASTField))
ArgName = '<empty>';
ArgScope = 'None';