code: def _lits(lexer, varname, nvars):
      
      tok = _expect_token(lexer, {OP_not, IntegerToken})
      if isinstance(tok, IntegerToken) and tok.value == 0:
          return tuple()
      else:
          if isinstance(tok, OP_not):
              neg = True
              tok = _expect_token(lexer, {IntegerToken})
          else:
              neg = False
          index = tok.value
  
          if index > nvars:
              fstr = "formula literal {} is greater than {}"
              raise Error(fstr.format(index, nvars))
  
          lit = ('var', (varname, ), (index, ))
          if neg:
              lit = ('not', lit)
  
          return (lit, ) + _lits(lexer, varname, nvars)
docs: Return a tuple of DIMACS CNF clause literals.