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";";
}