#M.Boerger (c) 26.08.2000 # #This script is used to build a function index for the PHP manual. # #use awk: http://www-users.rwth-aachen.de/tools/index.html#AWK # #awk -x -f funcidx.awk "function\..*\.html" > funcidx.html BEGIN { funcno = 0 form = 1 BLOCK = 1 } FNR==1 { if ( match( FILENAME, "function\..+\.html")) { funcname = substr( FILENAME, 10, length( FILENAME)-14) gsub( "-", "_", funcname) #printf "%s: %s\n", FILENAME, funcname funcno++ namelist[funcname] = funcno filelist[funcname] = FILENAME funclist[funcno] = funcname } } function middle(x,y,z) #return middle of 3 { if ( x <= y ) { if ( z >= y ) return y if ( z < x ) return x return z } if ( z >= x ) return x if ( z < y ) return y return z } # if needed a sentinal at A[0] will be created function isort(A , n, i, j, hold) { for( i = 2 ; i <= n ; i++) { hold = A[ j = i ] while ( A[j-1] > hold ) { j-- ; A[j+1] = A[j] } A[j] = hold } } # recursive quicksort function qsort(A, left, right ,i , j, pivot, hold) { pivot = middle(A[left], A[int((left+right)/2)], A[right]) i = left j = right while ( i <= j ) { while ( A[i] < pivot ) i++ while ( A[j] > pivot ) j-- if ( i <= j ) { hold = A[i] A[i++] = A[j] A[j--] = hold } } if ( j - left > BLOCK ) qsort(A,left,j) if ( right - i > BLOCK ) qsort(A,i,right) } END { qsort(funclist, 1, funcno) # isort(funclist, funcno) printf "\n" printf "\n" printf "Function index Alphabetic\n" printf " funcidx.html\">\n" printf "\n" printf "\n" printf "\n" printf "\n" printf "\n" printf "\n" printf "\n" if ( form) { printf "\n" } printf "\n" printf "\n" if ( form) { printf "
\n" printf "\n" printf "\n" printf "\n" printf "
\n" } else { printf "

Function index Alphabetic

\n" printf "\n" printf "
" printf "Main\n" } printf "\n" printf "\n" }