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","."]
code: def parse_unary(self, with_filter=True):
      token_type = self.stream.current.type
      lineno = self.stream.current.lineno
      if token_type == "sub":
          next(self.stream)
          node = nodes.Neg(self.parse_unary(False), lineno=lineno)
      elif token_type == "add":
          next(self.stream)
          node = nodes.Pos(self.parse_unary(False), lineno=lineno)
      else:
          node = self.parse_primary()
      node = self.parse_postfix(node)
      if with_filter:
          node = self.parse_filter_expr(node)
      return node
  
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 37 for calling the Parser obj's underlying member method code with example usage: obj.parse_unary(with_filter) and returns: node