code: def _tgrep_macro_use_action(_s, _l, tokens):
      """
      Builds a lambda function which looks up the macro name used.
      """
      assert len(tokens) == 1
      assert tokens[0][0] == "@"
      macro_name = tokens[0][1:]
  
      def macro_use(n, m=None, l=None):
          if m is None or macro_name not in m:
              raise TgrepException(f"macro {macro_name} not defined")
          return m[macro_name](n, m, l)
  
      return macro_use
  
imports: import functools
  import re
  import nltk.tree
label_desc: Use image node_id 13 for calling a global function with example usage: _tgrep_macro_use_action(_s, _l, tokens) and returns: macro_use, m