File: funcparse.in

package info (click to toggle)
php3 1%3A3.0.5-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 8,348 kB
  • ctags: 9,086
  • sloc: ansic: 76,362; sh: 2,333; php: 1,329; yacc: 1,148; makefile: 970; perl: 763; cpp: 529; awk: 90; sql: 11
file content (53 lines) | stat: -rw-r--r-- 2,937 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!@PERL_PATH@ -0777
# 
# +----------------------------------------------------------------------+
# | PHP HTML Embedded Scripting Language Version 3.0                     |
# +----------------------------------------------------------------------+
# | Copyright (c) 1997,1998 PHP Development Team (See Credits file)      |
# +----------------------------------------------------------------------+
# | This program is free software; you can redistribute it and/or modify |
# | it under the terms of one of the following licenses:                 |
# |                                                                      |
# |  A) the GNU General Public License as published by the Free Software |
# |     Foundation; either version 2 of the License, or (at your option) |
# |     any later version.                                               |
# |                                                                      |
# |  B) the PHP License as published by the PHP Development Team and     |
# |     included in the distribution in the file: LICENSE                |
# |                                                                      |
# | This program is distributed in the hope that it will be useful,      |
# | but WITHOUT ANY WARRANTY; without even the implied warranty of       |
# | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        |
# | GNU General Public License for more details.                         |
# |                                                                      |
# | You should have received a copy of both licenses referred to here.   |
# | If you did not, or have any questions about PHP licensing, please    |
# | contact core@php.net.                                                |
# +----------------------------------------------------------------------+
# | Authors:    Ariel Shkedi <ars@ziplink.net> or <as@altavista.net>     |
# |                                                                      |
# +----------------------------------------------------------------------+
# 
# $Id: funcparse.in,v 1.3 1998/04/29 13:24:00 ssb Exp $

while( <STDIN> ) {
    /function_entry.*?     # starts with this text + anything
     {.*?                  # till first {
     (                     # store this as $1
     (?:                   # don't store the internal "loop" match
      {.*?}.*?             # non-greedy match { + anything + } + anything
     )*                    # "loop" for all of them
     )                     # store till here
     } /six;               # match closing }

    $_  = $1;

    while(/{\s*             #starts with a { and whitespace
           "                # the open "
           (                # store this as $1
            ([^"\\]|\\.)*?  # match anything, including \", that isn't a "
           )
           ".*?             # match end " then anything till
           }/gsix)          # closing }
      {print "$1\n";}
}