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","."]
docstr: Expression evaluation when parsing.
  
  Parameters
  ----------
  node : Union[doc.expr, doc.Expression]
      The root node of AST tree node of expression to evaluate.
  
  extra_vars : Optional[Dict[str, Any]]
      The optional global value table for expression evaluation.
  
  Returns
  -------
  res : Any
      The evaluation result.
code: def eval_expr(
      self,
      node: Union[doc.Expression, doc.expr],
      extra_vars: Optional[Dict[str, Any]] = None,
  ) -> Any:
      """Expression evaluation when parsing.
  
      Parameters
      ----------
      node : Union[doc.expr, doc.Expression]
          The root node of AST tree node of expression to evaluate.
  
      extra_vars : Optional[Dict[str, Any]]
          The optional global value table for expression evaluation.
  
      Returns
      -------
      res : Any
          The evaluation result.
      """
      var_values = self.var_table.get()
      if extra_vars is not None:
          for k, v in extra_vars.items():
              var_values[k] = v
      var_values[ScriptMacro.parser_object_name] = self
      return eval_expr(self, node, var_values)
  
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 5 for calling the Parser obj's underlying member method code with example usage: obj.eval_expr(node, extra_vars) and returns: eval_expr