parameters: (self, syntax=True, actions=True, objects=False, **kwargs)
return_statement: return out
docstring: Return groups associated with this node (i.e., where the syntax is defined). The **kwargs
          may be used to pass the named arguments to __nodeFinder, e.g., recursive=True.
docstring_summary: Return groups associated with this node (i.e., where the syntax is defined). The **kwargs
          may be used to pass the named arguments to __nodeFinder, e.g., recursive=True.
docstring_tokens: Return groups associated with this node ( i . e . where the syntax is defined ) . The ** kwargs may be used to pass the named arguments to __nodeFinder e . g . recursive = True .
function: def groups(self, syntax=True, actions=True, objects=False, **kwargs):
          """
          Return groups associated with this node (i.e., where the syntax is defined). The **kwargs
          may be used to pass the named arguments to __nodeFinder, e.g., recursive=True.
          """
          out = set([self.group]) if self.group is not None else set()
          if syntax:
              for node in self.syntax(**kwargs):
                  out.update(node.groups())
          if actions:
              for node in self.actions(**kwargs):
                  out.update(node.groups())
          if objects:
              for node in self.objects(**kwargs):
                  out.update(node.groups())
          return out
function_tokens: def groups ( self , syntax = True , actions = True , objects = False , * * kwargs ) : out = set ( [ self . group ] ) if self . group is not None else set ( ) if syntax : for node in self . syntax ( * * kwargs ) : out . update ( node . groups ( ) ) if actions : for node in self . actions ( * * kwargs ) : out . update ( node . groups ( ) ) if objects : for node in self . objects ( * * kwargs ) : out . update ( node . groups ( ) ) return out