From: Marcelo M. <mar...@us...> - 2005-11-28 17:33:10
|
Update of /cvsroot/swig/SWIG/Source/CParse In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv1681/Source/CParse Modified Files: cscanner.c parser.y templ.c Log Message: add NewStringEmpty, use more StringEuqual and less Strcmp Index: cscanner.c =================================================================== RCS file: /cvsroot/swig/SWIG/Source/CParse/cscanner.c,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** cscanner.c 10 Nov 2005 21:21:04 -0000 1.16 --- cscanner.c 28 Nov 2005 17:32:53 -0000 1.17 *************** *** 104,108 **** /* Now, parse the new location out of the locator string */ { ! String *fn = NewString(""); Putc(c,fn); --- 104,108 ---- /* Now, parse the new location out of the locator string */ { ! String *fn = NewStringEmpty(); Putc(c,fn); *************** *** 144,150 **** yybuffer = (char *) malloc(YYBSIZE); scan_init = 1; ! header = NewString(""); ! comment = NewString(""); ! scanner_ccode = NewString(""); } --- 144,150 ---- yybuffer = (char *) malloc(YYBSIZE); scan_init = 1; ! header = NewStringEmpty(); ! comment = NewStringEmpty(); ! scanner_ccode = NewStringEmpty(); } Index: parser.y =================================================================== RCS file: /cvsroot/swig/SWIG/Source/CParse/parser.y,v retrieving revision 1.130 retrieving revision 1.131 diff -C2 -d -r1.130 -r1.131 *** parser.y 28 Nov 2005 02:41:32 -0000 1.130 --- parser.y 28 Nov 2005 17:32:54 -0000 1.131 *************** *** 509,515 **** Setattr(n,"sym:name",symname); } else { ! String *e = NewString(""); ! String *en = NewString(""); ! String *ec = NewString(""); int redefined = need_redefined_warn(n,c,inclass); if (redefined) { --- 509,515 ---- Setattr(n,"sym:name",symname); } else { ! String *e = NewStringEmpty(); ! String *en = NewStringEmpty(); ! String *ec = NewStringEmpty(); int redefined = need_redefined_warn(n,c,inclass); if (redefined) { *************** *** 679,685 **** if (csym != n) { /* Conflict with previous definition. Nuke previous definition */ ! String *e = NewString(""); ! String *en = NewString(""); ! String *ec = NewString(""); Printf(ec,"Identifier '%s' redefined by %%extend (ignored),",symname); Printf(en,"%%extend definition of '%s'.",symname); --- 679,685 ---- if (csym != n) { /* Conflict with previous definition. Nuke previous definition */ ! String *e = NewStringEmpty(); ! String *en = NewStringEmpty(); ! String *ec = NewStringEmpty(); Printf(ec,"Identifier '%s' redefined by %%extend (ignored),",symname); Printf(en,"%%extend definition of '%s'.",symname); *************** *** 1105,1109 **** fixname = feature_identifier_fix(declaratorid); } else { ! fixname = NewString(""); } if (Namespaceprefix) { --- 1105,1109 ---- fixname = feature_identifier_fix(declaratorid); } else { ! fixname = NewStringEmpty(); } if (Namespaceprefix) { *************** *** 1900,1904 **** } | INSERT LPAREN idstring RPAREN string { ! String *code = NewString(""); $$ = new_node("insert"); Setattr($$,"section",$3); --- 1900,1904 ---- } | INSERT LPAREN idstring RPAREN string { ! String *code = NewStringEmpty(); $$ = new_node("insert"); Setattr($$,"section",$3); *************** *** 2915,2919 **** if ($6.have_parms) { ! SwigType *decl = NewString(""); SwigType_add_function(decl,$6.parms); Setattr($$,"decl",decl); --- 2915,2919 ---- if ($6.have_parms) { ! SwigType *decl = NewStringEmpty(); SwigType_add_function(decl,$6.parms); Setattr($$,"decl",decl); *************** *** 3155,3159 **** cparse_start_line = cparse_line; inclass = 1; ! Classprefix = NewString(""); Namespaceprefix = Swig_symbol_qualifiedscopename(0); } cpp_members RBRACE declarator c_decl_tail { --- 3155,3159 ---- cparse_start_line = cparse_line; inclass = 1; ! Classprefix = NewStringEmpty(); Namespaceprefix = Swig_symbol_qualifiedscopename(0); } cpp_members RBRACE declarator c_decl_tail { *************** *** 3758,3762 **** cpp_constructor_decl : storage_class type LPAREN parms RPAREN ctor_end { if (Classprefix) { ! SwigType *decl = NewString(""); $$ = new_node("constructor"); Setattr($$,"name",$2); --- 3758,3762 ---- cpp_constructor_decl : storage_class type LPAREN parms RPAREN ctor_end { if (Classprefix) { ! SwigType *decl = NewStringEmpty(); $$ = new_node("constructor"); Setattr($$,"name",$2); *************** *** 3785,3789 **** } { ! String *decl = NewString(""); SwigType_add_function(decl,$4); Setattr($$,"decl",decl); --- 3785,3789 ---- } { ! String *decl = NewStringEmpty(); SwigType_add_function(decl,$4); Setattr($$,"decl",decl); *************** *** 3820,3824 **** } { ! String *decl = NewString(""); SwigType_add_function(decl,$5); Setattr($$,"decl",decl); --- 3820,3824 ---- } { ! String *decl = NewStringEmpty(); SwigType_add_function(decl,$5); Setattr($$,"decl",decl); *************** *** 3850,3854 **** Setattr($$,"type",$3); Setattr($$,"name",$2); ! decl = NewString(""); SwigType_add_reference(decl); SwigType_add_function(decl,$6); --- 3850,3854 ---- Setattr($$,"type",$3); Setattr($$,"name",$2); ! decl = NewStringEmpty(); SwigType_add_reference(decl); SwigType_add_function(decl,$6); *************** *** 3863,3867 **** | storage_class COPERATOR type LPAREN parms RPAREN cpp_vend { ! String *t = NewString(""); $$ = new_node("cdecl"); Setattr($$,"type",$3); --- 3863,3867 ---- | storage_class COPERATOR type LPAREN parms RPAREN cpp_vend { ! String *t = NewStringEmpty(); $$ = new_node("cdecl"); Setattr($$,"type",$3); *************** *** 3935,3939 **** } else { Nested *n = (Nested *) malloc(sizeof(Nested)); ! n->code = NewString(""); Printv(n->code, "typedef ", $2, " ", Char(scanner_ccode), " $classname_", $6.id, ";\n", NIL); --- 3935,3939 ---- } else { Nested *n = (Nested *) malloc(sizeof(Nested)); ! n->code = NewStringEmpty(); Printv(n->code, "typedef ", $2, " ", Char(scanner_ccode), " $classname_", $6.id, ";\n", NIL); *************** *** 3941,3945 **** n->name = Swig_copy_string($6.id); n->line = cparse_start_line; ! n->type = NewString(""); n->kind = $2; SwigType_push(n->type, $6.type); --- 3941,3945 ---- n->name = Swig_copy_string($6.id); n->line = cparse_start_line; ! n->type = NewStringEmpty(); n->kind = $2; SwigType_push(n->type, $6.type); *************** *** 3963,3972 **** /* Generate some code for a new class */ Nested *n = (Nested *) malloc(sizeof(Nested)); ! n->code = NewString(""); Printv(n->code, "typedef ", $2, " " , Char(scanner_ccode), " $classname_", $5.id, ";\n",NIL); n->name = Swig_copy_string($5.id); n->line = cparse_start_line; ! n->type = NewString(""); n->kind = $2; SwigType_push(n->type,$5.type); --- 3963,3972 ---- /* Generate some code for a new class */ Nested *n = (Nested *) malloc(sizeof(Nested)); ! n->code = NewStringEmpty(); Printv(n->code, "typedef ", $2, " " , Char(scanner_ccode), " $classname_", $5.id, ";\n",NIL); n->name = Swig_copy_string($5.id); n->line = cparse_start_line; ! n->type = NewStringEmpty(); n->kind = $2; SwigType_push(n->type,$5.type); *************** *** 4353,4361 **** | direct_declarator { $$ = $1; ! if (!$$.type) $$.type = NewString(""); } | AND notso_direct_declarator { $$ = $2; ! $$.type = NewString(""); SwigType_add_reference($$.type); if ($2.type) { --- 4353,4361 ---- | direct_declarator { $$ = $1; ! if (!$$.type) $$.type = NewStringEmpty(); } | AND notso_direct_declarator { $$ = $2; ! $$.type = NewStringEmpty(); SwigType_add_reference($$.type); if ($2.type) { *************** *** 4365,4369 **** } | idcolon DSTAR notso_direct_declarator { ! SwigType *t = NewString(""); $$ = $3; --- 4365,4369 ---- } | idcolon DSTAR notso_direct_declarator { ! SwigType *t = NewStringEmpty(); $$ = $3; *************** *** 4376,4380 **** } | pointer idcolon DSTAR notso_direct_declarator { ! SwigType *t = NewString(""); $$ = $4; SwigType_add_memberpointer(t,$2); --- 4376,4380 ---- } | pointer idcolon DSTAR notso_direct_declarator { ! SwigType *t = NewStringEmpty(); $$ = $4; SwigType_add_memberpointer(t,$2); *************** *** 4398,4402 **** } | idcolon DSTAR AND notso_direct_declarator { ! SwigType *t = NewString(""); $$ = $4; SwigType_add_memberpointer(t,$1); --- 4398,4402 ---- } | idcolon DSTAR AND notso_direct_declarator { ! SwigType *t = NewStringEmpty(); $$ = $4; SwigType_add_memberpointer(t,$1); *************** *** 4452,4456 **** SwigType *t; $$ = $4; ! t = NewString(""); SwigType_add_memberpointer(t,$2); if ($$.type) { --- 4452,4456 ---- SwigType *t; $$ = $4; ! t = NewStringEmpty(); SwigType_add_memberpointer(t,$2); if ($$.type) { *************** *** 4463,4467 **** SwigType *t; $$ = $1; ! t = NewString(""); SwigType_add_array(t,(char*)""); if ($$.type) { --- 4463,4467 ---- SwigType *t; $$ = $1; ! t = NewStringEmpty(); SwigType_add_array(t,(char*)""); if ($$.type) { *************** *** 4474,4478 **** SwigType *t; $$ = $1; ! t = NewString(""); SwigType_add_array(t,$3.val); if ($$.type) { --- 4474,4478 ---- SwigType *t; $$ = $1; ! t = NewStringEmpty(); SwigType_add_array(t,$3.val); if ($$.type) { *************** *** 4485,4489 **** SwigType *t; $$ = $1; ! t = NewString(""); SwigType_add_function(t,$3); if (!$$.have_parms) { --- 4485,4489 ---- SwigType *t; $$ = $1; ! t = NewStringEmpty(); SwigType_add_function(t,$3); if (!$$.have_parms) { *************** *** 4537,4541 **** $$ = $3; if (!$$.type) { ! $$.type = NewString(""); } SwigType_add_reference($$.type); --- 4537,4541 ---- $$ = $3; if (!$$.type) { ! $$.type = NewStringEmpty(); } SwigType_add_reference($$.type); *************** *** 4544,4548 **** SwigType *t; $$ = $4; ! t = NewString(""); SwigType_add_memberpointer(t,$2); if ($$.type) { --- 4544,4548 ---- SwigType *t; $$ = $4; ! t = NewStringEmpty(); SwigType_add_memberpointer(t,$2); if ($$.type) { *************** *** 4555,4559 **** SwigType *t; $$ = $1; ! t = NewString(""); SwigType_add_array(t,(char*)""); if ($$.type) { --- 4555,4559 ---- SwigType *t; $$ = $1; ! t = NewStringEmpty(); SwigType_add_array(t,(char*)""); if ($$.type) { *************** *** 4566,4570 **** SwigType *t; $$ = $1; ! t = NewString(""); SwigType_add_array(t,$3.val); if ($$.type) { --- 4566,4570 ---- SwigType *t; $$ = $1; ! t = NewStringEmpty(); SwigType_add_array(t,$3.val); if ($$.type) { *************** *** 4577,4581 **** SwigType *t; $$ = $1; ! t = NewString(""); SwigType_add_function(t,$3); if (!$$.have_parms) { --- 4577,4581 ---- SwigType *t; $$ = $1; ! t = NewStringEmpty(); SwigType_add_function(t,$3); if (!$$.have_parms) { *************** *** 4626,4630 **** | AND direct_abstract_declarator { $$ = $2; ! $$.type = NewString(""); SwigType_add_reference($$.type); if ($2.type) { --- 4626,4630 ---- | AND direct_abstract_declarator { $$ = $2; ! $$.type = NewStringEmpty(); SwigType_add_reference($$.type); if ($2.type) { *************** *** 4637,4645 **** $$.parms = 0; $$.have_parms = 0; ! $$.type = NewString(""); SwigType_add_reference($$.type); } | idcolon DSTAR { ! $$.type = NewString(""); SwigType_add_memberpointer($$.type,$1); $$.id = 0; --- 4637,4645 ---- $$.parms = 0; $$.have_parms = 0; ! $$.type = NewStringEmpty(); SwigType_add_reference($$.type); } | idcolon DSTAR { ! $$.type = NewStringEmpty(); SwigType_add_memberpointer($$.type,$1); $$.id = 0; *************** *** 4648,4652 **** } | pointer idcolon DSTAR { ! SwigType *t = NewString(""); $$.type = $1; $$.id = 0; --- 4648,4652 ---- } | pointer idcolon DSTAR { ! SwigType *t = NewStringEmpty(); $$.type = $1; $$.id = 0; *************** *** 4671,4675 **** SwigType *t; $$ = $1; ! t = NewString(""); SwigType_add_array(t,(char*)""); if ($$.type) { --- 4671,4675 ---- SwigType *t; $$ = $1; ! t = NewStringEmpty(); SwigType_add_array(t,(char*)""); if ($$.type) { *************** *** 4682,4686 **** SwigType *t; $$ = $1; ! t = NewString(""); SwigType_add_array(t,$3.val); if ($$.type) { --- 4682,4686 ---- SwigType *t; $$ = $1; ! t = NewStringEmpty(); SwigType_add_array(t,$3.val); if ($$.type) { *************** *** 4691,4695 **** } | LBRACKET RBRACKET { ! $$.type = NewString(""); $$.id = 0; $$.parms = 0; --- 4691,4695 ---- } | LBRACKET RBRACKET { ! $$.type = NewStringEmpty(); $$.id = 0; $$.parms = 0; *************** *** 4698,4702 **** } | LBRACKET expr RBRACKET { ! $$.type = NewString(""); $$.id = 0; $$.parms = 0; --- 4698,4702 ---- } | LBRACKET expr RBRACKET { ! $$.type = NewStringEmpty(); $$.id = 0; $$.parms = 0; *************** *** 4710,4714 **** SwigType *t; $$ = $1; ! t = NewString(""); SwigType_add_function(t,$3); if (!$$.type) { --- 4710,4714 ---- SwigType *t; $$ = $1; ! t = NewStringEmpty(); SwigType_add_function(t,$3); if (!$$.type) { *************** *** 4725,4729 **** } | LPAREN parms RPAREN { ! $$.type = NewString(""); SwigType_add_function($$.type,$2); $$.parms = $2; --- 4725,4729 ---- } | LPAREN parms RPAREN { ! $$.type = NewStringEmpty(); SwigType_add_function($$.type,$2); $$.parms = $2; *************** *** 4735,4739 **** pointer : STAR type_qualifier pointer { ! $$ = NewString(""); SwigType_add_pointer($$); SwigType_push($$,$2); --- 4735,4739 ---- pointer : STAR type_qualifier pointer { ! $$ = NewStringEmpty(); SwigType_add_pointer($$); SwigType_push($$,$2); *************** *** 4742,4746 **** } | STAR pointer { ! $$ = NewString(""); SwigType_add_pointer($$); SwigType_push($$,$2); --- 4742,4746 ---- } | STAR pointer { ! $$ = NewStringEmpty(); SwigType_add_pointer($$); SwigType_push($$,$2); *************** *** 4748,4757 **** } | STAR type_qualifier { ! $$ = NewString(""); SwigType_add_pointer($$); SwigType_push($$,$2); } | STAR { ! $$ = NewString(""); SwigType_add_pointer($$); } --- 4748,4757 ---- } | STAR type_qualifier { ! $$ = NewStringEmpty(); SwigType_add_pointer($$); SwigType_push($$,$2); } | STAR { ! $$ = NewStringEmpty(); SwigType_add_pointer($$); } *************** *** 4759,4763 **** type_qualifier : type_qualifier_raw { ! $$ = NewString(""); if ($1) SwigType_add_qualifier($$,$1); } --- 4759,4763 ---- type_qualifier : type_qualifier_raw { ! $$ = NewStringEmpty(); if ($1) SwigType_add_qualifier($$,$1); } *************** *** 5362,5366 **** template_decl : LESSTHAN valparms GREATERTHAN { ! String *s = NewString(""); SwigType_add_template(s,$2); $$ = Char(s); --- 5362,5366 ---- template_decl : LESSTHAN valparms GREATERTHAN { ! String *s = NewStringEmpty(); SwigType_add_template(s,$2); $$ = Char(s); Index: templ.c =================================================================== RCS file: /cvsroot/swig/SWIG/Source/CParse/templ.c,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** templ.c 27 Nov 2005 02:57:03 -0000 1.22 --- templ.c 28 Nov 2005 17:32:55 -0000 1.23 *************** *** 122,126 **** if (Getattr(n,k_error)) return 0; ! if (Strcmp(nodeType,k_template) == 0) { /* Change the node type back to normal */ if (!expanded) { --- 122,126 ---- if (Getattr(n,k_error)) return 0; ! if (StringEqual(nodeType,k_template)) { /* Change the node type back to normal */ if (!expanded) { *************** *** 139,143 **** return ret; } ! } else if (Strcmp(nodeType,k_cdecl) == 0) { /* A simple C declaration */ SwigType *t, *v, *d; --- 139,143 ---- return ret; } ! } else if (StringEqual(nodeType,k_cdecl)) { /* A simple C declaration */ SwigType *t, *v, *d; *************** *** 164,168 **** add_parms(Getattr(n,k_throws), cpatchlist, typelist); ! } else if (Strcmp(nodeType,k_class) == 0) { /* Patch base classes */ { --- 164,168 ---- add_parms(Getattr(n,k_throws), cpatchlist, typelist); ! } else if (StringEqual(nodeType,k_class)) { /* Patch base classes */ { *************** *** 188,192 **** } } ! } else if (Strcmp(nodeType,k_constructor) == 0) { String *name = Getattr(n,k_name); if (!(Getattr(n,k_templatetype))) { --- 188,192 ---- } } ! } else if (StringEqual(nodeType,k_constructor)) { String *name = Getattr(n,k_name); if (!(Getattr(n,k_templatetype))) { *************** *** 223,227 **** add_parms(Getattr(n,k_parms), cpatchlist, typelist); add_parms(Getattr(n,k_throws), cpatchlist, typelist); ! } else if (Strcmp(nodeType,k_destructor) == 0) { String *name = Getattr(n,k_name); if (Strstr(name,"<")) { --- 223,227 ---- add_parms(Getattr(n,k_parms), cpatchlist, typelist); add_parms(Getattr(n,k_throws), cpatchlist, typelist); ! } else if (StringEqual(nodeType,k_destructor)) { String *name = Getattr(n,k_name); if (Strstr(name,"<")) { *************** *** 240,244 **** Setattr(n,k_symname,name); Append(cpatchlist,Getattr(n,k_code)); ! } else if (Strcmp(nodeType,k_using) == 0) { String *uname = Getattr(n,k_uname); if (uname) { --- 240,244 ---- Setattr(n,k_symname,name); Append(cpatchlist,Getattr(n,k_code)); ! } else if (StringEqual(nodeType,k_using)) { String *uname = Getattr(n,k_uname); if (uname) { *************** *** 301,305 **** { ! String *tmp = NewString(""); if (tparms) { SwigType_add_template(tmp,tparms); --- 301,305 ---- { ! String *tmp = NewStringEmpty(); if (tparms) { SwigType_add_template(tmp,tparms); *************** *** 485,489 **** Parm *targs; ! tname = NewString(name); parms = CopyParmList(tparms); --- 485,489 ---- Parm *targs; ! tname = Copy(name); parms = CopyParmList(tparms); *************** *** 527,531 **** if (!n) { SwigType *rname = Swig_symbol_typedef_reduce(tname,tscope); ! if (Strcmp(rname,tname)) { if (template_debug) { Printf(stdout," searching: '%s' (exact specialization)\n", rname); --- 527,531 ---- if (!n) { SwigType *rname = Swig_symbol_typedef_reduce(tname,tscope); ! if (!StringEqual(rname,tname)) { if (template_debug) { Printf(stdout," searching: '%s' (exact specialization)\n", rname); *************** *** 538,542 **** Node *tn; String *nodeType = Getattr(n,k_nodetype); ! if (Strcmp(nodeType,k_template) == 0) goto success; tn = Getattr(n,k_template); if (tn) { --- 538,542 ---- Node *tn; String *nodeType = Getattr(n,k_nodetype); ! if (StringEqual(nodeType,k_template)) goto success; tn = Getattr(n,k_template); if (tn) { *************** *** 614,618 **** Printf(stdout," searching: '%s' (partial specialization - %s)\n", ss, pi.item); } ! if ((Strcmp(ss,tname) == 0) || (Strcmp(ss,rname) == 0)) { Append(mpartials,pi.item); } --- 614,618 ---- Printf(stdout," searching: '%s' (partial specialization - %s)\n", ss, pi.item); } ! if ((StringEqual(ss,tname)) || (StringEqual(ss,rname))) { Append(mpartials,pi.item); } *************** *** 648,652 **** } else if (n) { String *nodeType = Getattr(n,k_nodetype); ! if (Strcmp(nodeType,k_template) != 0) { Swig_error(cparse_file, cparse_line, "'%s' is not defined as a template. (%s)\n", name, nodeType); n = 0; --- 648,652 ---- } else if (n) { String *nodeType = Getattr(n,k_nodetype); ! if (!StringEqual(nodeType,k_template)) { Swig_error(cparse_file, cparse_line, "'%s' is not defined as a template. (%s)\n", name, nodeType); n = 0; *************** *** 682,687 **** if (n) { int isclass = 0; ! assert(Strcmp(nodeType,k_template) == 0); ! isclass = (Strcmp(Getattr(n,k_templatetype),k_class) == 0); if (!isclass) { /* If not a templated class we must have a templated function. --- 682,687 ---- if (n) { int isclass = 0; ! assert(StringEqual(nodeType,k_template)); ! isclass = (StringEqual(Getattr(n,k_templatetype),k_class)); if (!isclass) { /* If not a templated class we must have a templated function. |