[Types-sig] merry christmas... here is a demo!

skaller skaller@maxtal.com.au
Mon, 27 Dec 1999 02:48:52 +1100


Greg Stein wrote:
> 
> Hi all,
> 
> I banged together a rough prototype for a type checker. It provides some
> interesting errors/warnings, but totally ignores a bazillion others :-)

Here's the output of check.py, run on itself (only the last few lines ..
:-)

line 800: WARNING: (module<...>).LPAR may cause an AttributeError
line 802: WARNING: (module<...>).LSQB may cause an AttributeError
line 803: WARNING: (Any)._check_assign_subscriptlist may cause an
AttributeError
line 803: return Any
line 805: WARNING: (module<...>).DOT may cause an AttributeError
line 810: WARNING: (module<...>).LValueAttr may cause an AttributeError
line 810: return Any
line 817: WARNING: (Any)._check_node may cause an AttributeError
line 817: assign: sub_td = Any
line 819: WARNING: (Any).type may cause an AttributeError
line 819: WARNING: (module<...>).SliceType may cause an AttributeError
line 821: WARNING: (module<...>).LValueSlice may cause an AttributeError
line 821: return Any
line 824: WARNING: (module<...>).LValueIndex may cause an AttributeError
line 824: return Any
line 831: WARNING: (Any)._check_node may cause an AttributeError
line 835: WARNING: (Any)._check_node may cause an AttributeError
line 835: return list<*(Any)>
line 837: assign: valueTDs = list<*(Any)>
line 838: for: i = Any
line 840: return list<*(Any)>
line 844: WARNING: (module<...>).testlist may cause an AttributeError
line 846: assign: tds = list<*(Any)>
line 847: for: arg = Any
line 848: WARNING: (module<...>).COMMA may cause an AttributeError
line 849: WARNING: (module<...>).test may cause an AttributeError
line 855: WARNING: (module<...>).TDVarLenList may cause an
AttributeError
line 855: return Any
line 859: WARNING: (module<...>).dictmaker may cause an AttributeError
line 861: assign: key_tds = list<*(Any)>
line 862: assign: value_tds = list<*(Any)>
line 863: for: i = Any
line 867: WARNING: (module<...>).TDDictionary may cause an
AttributeError
line 867: return Any
line 873: assign: n = Any
line 874: WARNING: (module<...>).LPAR may cause an AttributeError
line 875: WARNING: (Any)._check_function_call may cause an
AttributeError
line 875: return Any
line 876: WARNING: (module<...>).LSQB may cause an AttributeError
line 877: WARNING: (Any)._check_node may cause an AttributeError
line 877: assign: sub_td = Any
line 879: return Any
line 881: WARNING: (module<...>).DOT may cause an AttributeError
line 882: assign: name = Any
line 883: WARNING: (Any).hasattr may cause an AttributeError
line 883: assign: has = Any
line 884: WARNING: (module<...>).NO may cause an AttributeError
line 887: WARNING: (module<...>).Any may cause an AttributeError
line 887: assign: td = Any
line 888: WARNING: (module<...>).MAYBE may cause an AttributeError
line 891: WARNING: (module<...>).Any may cause an AttributeError
line 891: assign: td = Any
line 893: return Any
line 897: return Any
line 903: assign: (Any).nodeargs = Any
line 904: assign: (Any).td = Any

-- 
John Skaller, mailto:skaller@maxtal.com.au
10/1 Toxteth Rd Glebe NSW 2037 Australia
homepage: http://www.maxtal.com.au/~skaller
voice: 61-2-9660-0850