class_docstr: This is the central parsing class Jinja uses.  It's passed to
  extensions and can be used to parse expressions or statements.
class_docstr_tok: ["This","is","the","central","parsing","class","Jinja","uses",".","It","'s","passed","to","extensions","and","can","be","used","to","parse","expressions","or","statements","."]
docstr: Like fail_unknown_tag but for end of template situations.
docstr_tok: ["Like","fail_unknown_tag","but","for","end","of","template","situations","."]
code: def fail_eof(self, end_tokens=None, lineno=None):
      """Like fail_unknown_tag but for end of template situations."""
      stack = list(self._end_token_stack)
      if end_tokens is not None:
          stack.append(end_tokens)
      return self._fail_ut_eof(None, stack, lineno)
  
imports: from .None import nodes
  from ._compat import imap
  from .exceptions import TemplateAssertionError
  from .exceptions import TemplateSyntaxError
  from .lexer import describe_token
  from .lexer import describe_token_expr
label_desc: Use image node_id 5 for calling the Parser obj's underlying member method code with example usage: obj.fail_eof(end_tokens, lineno) and returns: self