cvs: functable / funcimp.awk funcparse.awk

[email protected] ("Rasmus Lerdorf")
Newsgroups php.doc.web
Message-ID <cvsrasmus1141725296@cvsserver>
rasmus		Tue Mar  7 09:54:56 2006 UTC

  Modified files:              
    /functable	funcparse.awk funcimp.awk 
  Log:
  A bit more OO support here.  Still a ways to go.  The SPL stuff is 
  obfuscated.
  
  
http://cvs.php.net/viewcvs.cgi/functable/funcparse.awk?r1=1.3&r2=1.4&diff_format=u
Index: functable/funcparse.awk
diff -u functable/funcparse.awk:1.3 functable/funcparse.awk:1.4
--- functable/funcparse.awk:1.3	Fri Dec 15 11:34:28 2000
+++ functable/funcparse.awk	Tue Mar  7 09:54:55 2006
@@ -1,3 +1,6 @@
+function ltrim(s) { sub(/^ */, "", s); return s }
+function rtrim(s) { sub(/ *$/, "", s); return s }
+function trim(s) { return rtrim(ltrim(s)); }
 BEGIN { parse=0; FS="[\"(,]"; }
 /^.*function_entry.*$/ { parse=1; }
 /^.*function_entry.*_class_functions.*$/ { parse=0; }
@@ -16,6 +19,7 @@
 /^[[:space:]]*PHP_NAMED_FE/ { if(parse) { print "'"$2"','F',null,"NR; } }
 /^[[:space:]]*PHP_STATIC_FE/ { if(parse) { print "'"$3"','F',null,"NR; } }
 /^[[:space:]]*ZEND_FE/ { if(parse) { print "'"$2"','F',null,"NR; } }
+/^[[:space:]]*ZEND_ME/ { if(parse) { print "'"$2"::"trim($3)"','F',null,"NR; } }
 /^[[:space:]]*ZEND_FALIAS/ { if(parse) { print "'"$2"','A','"$3"',"NR; } }
 /^[[:space:]]*ZEND_NAMED_FE/ { if(parse) { print "'"$2"','F',null,"NR; } }
 /^[[:space:]]*cybercash_functions/ { if (parse) { print "'"$2"','F',null,"NR; } }
http://cvs.php.net/viewcvs.cgi/functable/funcimp.awk?r1=1.3&r2=1.4&diff_format=u
Index: functable/funcimp.awk
diff -u functable/funcimp.awk:1.3 functable/funcimp.awk:1.4
--- functable/funcimp.awk:1.3	Tue Mar  7 01:31:12 2006
+++ functable/funcimp.awk	Tue Mar  7 09:54:55 2006
@@ -1,7 +1,16 @@
+function ltrim(s) { sub(/^ */, "", s); return s }
+function rtrim(s) { sub(/ *$/, "", s); return s }
+function trim(s) { return rtrim(ltrim(s)); }
 BEGIN { FS="[\")(,]"; }
 /^[[:space:]]*PHP_FUNCTION/ { print "INSERT INTO funcimp SET function='"$2"',version='-v-',file='-f-',lineno="NR";"; }
 /^[[:space:]]*ZEND_FUNCTION/ { print "INSERT INTO funcimp SET function='"$2"',version='-v-',file='-f-',lineno="NR";"; }
 /^[[:space:]]*ZEND_METHOD/ { 
-   class_name = sprintf("%s%s::%s",toupper(substr($2,1,1)),substr($2,2,length($2)-1),$3);
+   n = split(substr($2,2,length($2)-1), rem, "_");
+   if(n) cn = rem[1];
+   else cn = substr($2,2,length($2)-1);
+   for(i=2;i<=n;i++) {
+     cn = sprintf("%s%s%s",cn,toupper(substr(rem[i],1,1)),substr(rem[i],2,length(rem[i])-1));
+   }
+   class_name = sprintf("%s%s::%s",toupper(substr($2,1,1)),cn,trim($3));
    print "INSERT INTO funcimp SET function='"class_name"',version='-v-',file='-f-',lineno="NR";";
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.