class_docstr: The TVMScript parser
  
  Parameters
  ----------
  diag : Diagnostics
      The diagnostics for error reporting.
  
  dispatch_tokens : List[str]
      The list of dispatching tokens to dispatching parsing method
      of different IRs and different doc AST structure.
  
  var_table : VarTable
      The variable table for parsing.
class_docstr_tok: ["The","TVMScript","parser","Parameters","--","--","--","--","--","diag",":","Diagnostics","The","diagnostics","for","error","reporting",".","dispatch_tokens",":","List","[","str","]","The","list","of","dispatching","tokens","to","dispatching","parsing","method","of","different","IRs","and","different","doc","AST","structure",".","var_table",":","VarTable","The","variable","table","for","parsing","."]
code: def get_dispatch_token(self, node: doc.FunctionDef) -> str:
      if not isinstance(node, doc.FunctionDef):
          self.report_error(
              node, "Only can get dispatch token for function."
          )
      if not node.decorator_list:
          self.report_error(node, "Function must be decorated")
      # TODO: only the last decorator is parsed
      decorator = self.eval_expr(node.decorator_list[-1])
      if not hasattr(decorator, "dispatch_token"):
          self.report_error(
              node, "The parser does not understand the decorator"
          )
      return decorator.dispatch_token
  
imports: import abc
  import inspect
  from collections import defaultdict
  from contextlib import contextmanager
  from typing import Any, Callable, Dict, List, Optional, Set, Union
  import numpy
  from tvm._ffi.base import TVMError
  from tvm.error import DiagnosticError
  from tvm.ir import GlobalVar
  from .None import dispatch, doc
  from .diagnostics import Diagnostics, Source
  from .evaluator import eval_assign, eval_expr
label_desc: Use image node_id 3 for calling the Parser obj's underlying member method code with example usage: obj.get_dispatch_token(node) and returns: decorator