tabnanny (version 6)
index
/usr/lib/python2.1/tabnanny.py

The Tab Nanny despises ambiguous indentation.  She knows no mercy.

 
Modules
            
getopt
os
sys
tokenize

 
Classes
            
NannyNag
Whitespace

 
class NannyNag
       
  
__init__(self, lineno, msg, line)
get_line(self)
get_lineno(self)
get_msg(self)

 
class Whitespace
       
  
__init__(self, ws)
equal(self, other)
# return true iff indent_level(t) == other.indent_level(t)
# for all t >= 1
indent_level(self, tabsize)
less(self, other)
# Return true iff indent_level(t) < other.indent_level(t)
# for all t >= 1.
# The algorithm is due to Vincent Broman.
# Easy to prove it's correct.
# XXXpost that.
# Trivial to prove n is sharp (consider T vs ST).
# Unknown whether there's a faster general way.  I suspected so at
# first, but no longer.
# For the special (but common!) case where M and N are both of the
# form (T*)(S*), M.less(N) iff M.len() < N.len() and
# M.num_tabs() <= N.num_tabs(). Proof is easy but kinda long-winded.
# XXXwrite that up.
# Note that M is of the form (T*)(S*) iff len(M.norm[0]) <= 1.
longest_run_of_spaces(self)
# return length of longest contiguous run of spaces (whether or not
# preceding a tab)
not_equal_witness(self, other)
# return a list of tuples (ts, i1, i2) such that
# i1 == indent_level(ts) != other.indent_level(ts) == i2.
# Intended to be used after not equal(other) is known, in which
# case it will return at least one witnessing tab size.
not_less_witness(self, other)
# return a list of tuples (ts, i1, i2) such that
# i1 == indent_level(ts) >= other.indent_level(ts) == i2.
# Intended to be used after not less(other) is known, in which
# case it will return at least one witnessing tab size.

 
Functions
            
check(file)
errprint(*args)
format_witnesses(w)
main()
reset_globals()
tokeneater(type, token, start, end, line, INDENT=5, DEDENT=6, NEWLINE=4, JUNK=(50, 51))

 
Data
             __all__ = ['check']
__file__ = '/usr/lib/python2.1/tabnanny.pyc'
__name__ = 'tabnanny'
__version__ = '6'
check_equal = 0
filename_only = 0
indents = []
verbose = 0