Package pygccxml :: Package declarations :: Module call_invocation

Source Code for Module pygccxml.declarations.call_invocation

 1  # Copyright 2004-2008 Roman Yakovenko. 
 2  # Distributed under the Boost Software License, Version 1.0. (See 
 3  # accompanying file LICENSE_1_0.txt or copy at 
 4  # http://www.boost.org/LICENSE_1_0.txt) 
 5   
 6  """  
 7  free function call parser 
 8   
 9  This module implements all functionality necessary to parse C++ free function  
10  invocation. In other words this module is able to extract next information from  
11  the string like this C{ print_message( message ) }. 
12      - name ( print_message ) 
13      - list of arguments ( message ) 
14   
15  This module also defines few convenience function like L{split} and L{join}. 
16  """ 
17   
18  import pattern_parser 
19   
20  __THE_PARSER = pattern_parser.parser_t( '(', ')', ',' ) 
21   
22 -def is_call_invocation( decl_string ):
23 """ 24 returns True if decl_string is function invocation and False otherwise 25 26 @param decl_string: string that should be checked for pattern presence 27 @type decl_string: str 28 29 @return: bool 30 """ 31 global __THE_PARSER 32 return __THE_PARSER.has_pattern( decl_string )
33
34 -def name( decl_string ):
35 """ 36 returns name of function 37 38 @type decl_string: str 39 @return: str 40 """ 41 global __THE_PARSER 42 return __THE_PARSER.name( decl_string )
43
44 -def args( decl_string ):
45 """ 46 returns list of function arguments 47 48 @type decl_string: str 49 @return: [str] 50 """ 51 global __THE_PARSER 52 return __THE_PARSER.args( decl_string )
53 54 NOT_FOUND = __THE_PARSER.NOT_FOUND
55 -def find_args( text, start=None ):
56 """ 57 finds arguments within function invocation. 58 59 @type text: str 60 @return: [ arguments ] or L{NOT_FOUND} if arguments could not be found 61 """ 62 global __THE_PARSER 63 return __THE_PARSER.find_args( text, start )
64
65 -def split( decl_string ):
66 """returns (name, [arguments] )""" 67 global __THE_PARSER 68 return __THE_PARSER.split( decl_string )
69
70 -def split_recursive( decl_string ):
71 """returns [(name, [arguments])]""" 72 global __THE_PARSER 73 return __THE_PARSER.split_recursive( decl_string )
74
75 -def join( name, args, arg_separator=None ):
76 """returns name( argument_1, argument_2, ..., argument_n )""" 77 global __THE_PARSER 78 return __THE_PARSER.join( name, args, arg_separator )
79