Changeset 5337:53e07b993ab2 in livinglogic.python.xist

Show
Ignore:
Timestamp:
02/11/13 14:12:13 (6 years ago)
Author:
Walter Doerwald <walter@…>
Branch:
default
Message:

Remove keepws argument from _str(). Fix _str() formatting.

Now that an expresion might be the top level AST in a tag, indentation is output
by the block AST, not by the top level AST nodes themselves.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/ll/ul4c.py

    r5336 r5337  
    287287 
    288288    def __str__(self): 
    289         return "".join(self._str(0, True)) # We don't know the ``keepws`` value, use ``True`` instead 
     289        return "".join(self._str(0)) 
    290290 
    291291    def _formatop(self, op): 
     
    297297        if bracket: 
    298298            yield "(" 
    299         yield from op._str(0, True) 
     299        yield from op._str(0) 
    300300        if bracket: 
    301301            yield ")" 
    302302 
    303303    @misc.notimplemented 
    304     def _str(self, indent, keepws): 
     304    def _str(self, indent): 
    305305        """ 
    306306        Format :var:`self` (with the indentation level :var:`indent`). 
     
    359359        return "<{0.__class__.__module__}.{0.__class__.__qualname__} {0.location.code!r} at {1:#x}>".format(self, id(self)) 
    360360 
    361     def _str(self, indent, keepws): 
    362         text = self.text() 
    363         if text: 
    364             yield indent*"\t" 
    365             yield "text {!r}\n".format(text) 
     361    def _str(self, indent): 
     362        yield "text {!r}\n".format(self.text()) 
    366363 
    367364    def eval(self, vars): 
     
    381378        self.value = value 
    382379 
    383     def _str(self, indent, keepws): 
     380    def _str(self, indent): 
    384381        yield _repr(self.value) 
    385382 
     
    430427                p.text("at {:#x}".format(id(self))) 
    431428 
    432     def _str(self, indent, keepws): 
     429    def _str(self, indent): 
    433430        yield "[" 
    434431        for (i, item) in enumerate(self.items): 
    435432            if i: 
    436433                yield ", " 
    437             yield from item._str(indent, keepws) 
     434            yield from item._str(indent) 
    438435        yield "]" 
    439436 
     
    502499                p.text("at {:#x}".format(id(self))) 
    503500 
    504     def _str(self, indent, keepws): 
     501    def _str(self, indent): 
    505502        yield "[" 
    506         yield from self.item._str(indent, keepws) 
     503        yield from self.item._str(indent) 
    507504        yield " for " 
    508505        yield _formatnestednameul4(self.varname) 
    509506        yield " in " 
    510         yield from self.container._str(indent, keepws) 
     507        yield from self.container._str(indent) 
    511508        if self.condition is not None: 
    512509            yield " if " 
    513             yield from self.condition._str(indent, keepws) 
     510            yield from self.condition._str(indent) 
    514511        yield "]" 
    515512 
     
    570567                p.text("at {:#x}".format(id(self))) 
    571568 
    572     def _str(self, indent, keepws): 
     569    def _str(self, indent): 
    573570        yield "{" 
    574571        for (i, item) in enumerate(self.items): 
    575572            if i: 
    576573                yield ", " 
    577             yield from item[0]._str(indent, keepws) 
     574            yield from item[0]._str(indent) 
    578575            yield ": " 
    579             yield from item[1]._str(indent, keepws) 
     576            yield from item[1]._str(indent) 
    580577        yield "}" 
    581578 
     
    645642                p.text("at {:#x}".format(id(self))) 
    646643 
    647     def _str(self, indent, keepws): 
     644    def _str(self, indent): 
    648645        yield "{" 
    649         yield from self.key._str(indent, keepws) 
     646        yield from self.key._str(indent) 
    650647        yield " : " 
    651         yield from self.value._str(indent, keepws) 
     648        yield from self.value._str(indent) 
    652649        yield " for " 
    653650        yield _formatnestednameul4(self.varname) 
    654651        yield " in " 
    655         yield from self.container._str(indent, keepws) 
     652        yield from self.container._str(indent) 
    656653        if self.condition is not None: 
    657654            yield " if " 
    658             yield from self.condition._str(indent, keepws) 
     655            yield from self.condition._str(indent) 
    659656        yield "]" 
    660657 
     
    732729                p.text("at {:#x}".format(id(self))) 
    733730 
    734     def _str(self, indent, keepws): 
     731    def _str(self, indent): 
    735732        yield "(" 
    736         yield from self.item._str(indent, keepws) 
     733        yield from self.item._str(indent) 
    737734        yield " for " 
    738735        yield _formatnestednameul4(self.varname) 
    739736        yield " in " 
    740         yield from self.container._str(indent, keepws) 
     737        yield from self.container._str(indent) 
    741738        if self.condition is not None: 
    742739            yield " if " 
    743             yield from self.condition._str(indent, keepws) 
     740            yield from self.condition._str(indent) 
    744741        yield ")" 
    745742 
     
    787784        return "<{0.__class__.__module__}.{0.__class__.__qualname__} {0.name!r} at {1:#x}>".format(self, id(self)) 
    788785 
    789     def _str(self, indent, keepws): 
     786    def _str(self, indent): 
    790787        yield self.name 
    791788 
     
    829826        self.content.append(item) 
    830827 
    831     def _str(self, indent, keepws): 
     828    def _str(self, indent): 
    832829        if self.content: 
    833830            for node in self.content: 
    834                 yield from node._str(indent, keepws) 
     831                yield indent*"\t" 
     832                yield from node._str(indent) 
    835833        else: 
    836834            yield indent*"\t" 
     
    926924                p.text("at {:#x}".format(id(self))) 
    927925 
    928     def _str(self, indent, keepws): 
    929         yield indent*"\t" 
     926    def _str(self, indent): 
    930927        yield "if " 
    931         yield from self.condition._str(indent, keepws) 
     928        yield from self.condition._str(indent) 
    932929        yield ":\n" 
    933         yield from super()._str(indent+1, keepws) 
     930        yield from super()._str(indent+1) 
    934931 
    935932    def ul4ondump(self, encoder): 
     
    971968                p.text("at {:#x}".format(id(self))) 
    972969 
    973     def _str(self, indent, keepws): 
    974         yield indent*"\t" 
     970    def _str(self, indent): 
    975971        yield "elif " 
    976         yield from self.condition._str(indent, keepws) 
     972        yield from self.condition._str(indent) 
    977973        yield ":\n" 
    978         yield from super()._str(indent+1, keepws) 
     974        yield from super()._str(indent+1) 
    979975 
    980976    def ul4ondump(self, encoder): 
     
    10071003                p.text("at {:#x}".format(id(self))) 
    10081004 
    1009     def _str(self, indent, keepws): 
    1010         yield indent*"\t" 
     1005    def _str(self, indent): 
    10111006        yield "else:\n" 
    1012         yield from super()._str(indent+1, keepws) 
     1007        yield from super()._str(indent+1) 
    10131008 
    10141009 
     
    10561051        self.container = decoder.load() 
    10571052 
    1058     def _str(self, indent, keepws): 
    1059         yield indent*"\t" 
     1053    def _str(self, indent): 
    10601054        yield "for " 
    10611055        yield _formatnestednameul4(self.varname) 
    10621056        yield " in " 
    1063         yield from self.container._str(indent, keepws) 
     1057        yield from self.container._str(indent) 
    10641058        yield ":\n" 
    1065         yield from super()._str(indent+1, keepws) 
     1059        yield from super()._str(indent+1) 
    10661060 
    10671061    @handleeval 
     
    10851079    """ 
    10861080 
    1087     def _str(self, indent, keepws): 
    1088         yield indent*"\t" 
     1081    def _str(self, indent): 
    10891082        yield "break\n" 
    10901083 
     
    11001093    """ 
    11011094 
    1102     def _str(self, indent, keepws): 
    1103         yield indent*"\t" 
     1095    def _str(self, indent): 
    11041096        yield "continue\n" 
    11051097 
     
    11431135                p.text("at {:#x}".format(id(self))) 
    11441136 
    1145     def _str(self, indent, keepws): 
     1137    def _str(self, indent): 
    11461138        yield from self._formatop(self.obj) 
    11471139        yield "." 
     
    12091201                p.text("at {:#x}".format(id(self))) 
    12101202 
    1211     def _str(self, indent, keepws): 
     1203    def _str(self, indent): 
    12121204        yield from self._formatop(self.obj) 
    12131205        yield "[" 
    12141206        if self.index1 is not None: 
    1215             yield from self.index1._str(indent, keepws) 
     1207            yield from self.index1._str(indent) 
    12161208        yield ":" 
    12171209        if self.index2 is not None: 
    1218             yield from self.index2._str(indent, keepws) 
     1210            yield from self.index2._str(indent) 
    12191211        yield "]" 
    12201212 
     
    13031295    precedence = 2 
    13041296 
    1305     def _str(self, indent, keepws): 
     1297    def _str(self, indent): 
    13061298        yield "not " 
    13071299        yield from self._formatop(self.obj) 
     
    13201312    precedence = 7 
    13211313 
    1322     def _str(self, indent, keepws): 
     1314    def _str(self, indent): 
    13231315        yield "-" 
    13241316        yield from self._formatop(self.obj) 
     
    13351327    """ 
    13361328 
    1337     def _str(self, indent, keepws): 
    1338         yield indent*"\t" 
     1329    def _str(self, indent): 
    13391330        yield "print " 
    1340         yield from self.obj._str(indent, keepws) 
     1331        yield from self.obj._str(indent) 
    13411332        yield "\n" 
    13421333 
     
    13521343    """ 
    13531344 
    1354     def _str(self, indent, keepws): 
    1355         yield indent*"\t" 
     1345    def _str(self, indent): 
    13561346        yield "printx " 
    1357         yield from self.obj._str(indent, keepws) 
     1347        yield from self.obj._str(indent) 
    13581348        yield "\n" 
    13591349 
     
    13691359    """ 
    13701360 
    1371     def _str(self, indent, keepws): 
    1372         yield indent*"\t" 
     1361    def _str(self, indent): 
    13731362        yield "return " 
    1374         yield from self.obj._str(indent, keepws) 
     1363        yield from self.obj._str(indent) 
    13751364        yield "\n" 
    13761365 
     
    14491438        return obj1[obj2] 
    14501439 
    1451     def _str(self, indent, keepws): 
    1452         yield from self.obj1._str(indent, keepws) 
     1440    def _str(self, indent): 
     1441        yield from self.obj1._str(indent) 
    14531442        yield "[" 
    1454         yield from self.obj2._str(indent, keepws) 
     1443        yield from self.obj2._str(indent) 
    14551444        yield "]" 
    14561445 
     
    14741463    associative = False 
    14751464 
    1476     def _str(self, indent, keepws): 
     1465    def _str(self, indent): 
    14771466        yield from self._formatop(self.obj1) 
    14781467        yield " == " 
     
    14931482    associative = False 
    14941483 
    1495     def _str(self, indent, keepws): 
     1484    def _str(self, indent): 
    14961485        yield from self._formatop(self.obj1) 
    1497         yield " 1= " 
     1486        yield " != " 
    14981487        yield from self._formatop(self.obj2) 
    14991488 
     
    15121501    associative = False 
    15131502 
    1514     def _str(self, indent, keepws): 
     1503    def _str(self, indent): 
    15151504        yield from self._formatop(self.obj1) 
    15161505        yield " < " 
     
    15311520    associative = False 
    15321521 
    1533     def _str(self, indent, keepws): 
     1522    def _str(self, indent): 
    15341523        yield from self._formatop(self.obj1) 
    15351524        yield " <= " 
     
    15501539    associative = False 
    15511540 
    1552     def _str(self, indent, keepws): 
     1541    def _str(self, indent): 
    15531542        yield from self._formatop(self.obj1) 
    15541543        yield " > " 
     
    15691558    associative = False 
    15701559 
    1571     def _str(self, indent, keepws): 
     1560    def _str(self, indent): 
    15721561        yield from self._formatop(self.obj1) 
    15731562        yield " >= " 
     
    15921581    associative = False 
    15931582 
    1594     def _str(self, indent, keepws): 
     1583    def _str(self, indent): 
    15951584        yield from self._formatop(self.obj1) 
    15961585        yield " in " 
     
    16151604    associative = False 
    16161605 
    1617     def _str(self, indent, keepws): 
     1606    def _str(self, indent): 
    16181607        yield from self._formatop(self.obj1) 
    16191608        yield " not in " 
     
    16331622    precedence = 5 
    16341623 
    1635     def _str(self, indent, keepws): 
     1624    def _str(self, indent): 
    16361625        yield from self._formatop(self.obj1) 
    16371626        yield "+" 
     
    16521641    associative = False 
    16531642 
    1654     def _str(self, indent, keepws): 
     1643    def _str(self, indent): 
    16551644        yield from self._formatop(self.obj1) 
    16561645        yield "-" 
     
    16701659    precedence = 6 
    16711660 
    1672     def _str(self, indent, keepws): 
     1661    def _str(self, indent): 
    16731662        yield from self._formatop(self.obj1) 
    16741663        yield "*" 
     
    16891678    associative = False 
    16901679 
    1691     def _str(self, indent, keepws): 
     1680    def _str(self, indent): 
    16921681        yield from self._formatop(self.obj1) 
    16931682        yield "//" 
     
    17081697    associative = False 
    17091698 
    1710     def _str(self, indent, keepws): 
     1699    def _str(self, indent): 
    17111700        yield from self._formatop(self.obj1) 
    17121701        yield "/" 
     
    17261715    precedence = 1 
    17271716 
    1728     def _str(self, indent, keepws): 
     1717    def _str(self, indent): 
    17291718        yield from self._formatop(self.obj1) 
    17301719        yield " and " 
     
    17531742    precedence = 0 
    17541743 
    1755     def _str(self, indent, keepws): 
     1744    def _str(self, indent): 
    17561745        yield from self._formatop(self.obj1) 
    17571746        yield " or " 
     
    17801769    associative = False 
    17811770 
    1782     def _str(self, indent, keepws): 
     1771    def _str(self, indent): 
    17831772        yield from self._formatop(self.obj1) 
    17841773        yield "%" 
     
    18401829    """ 
    18411830 
    1842     def _str(self, indent, keepws): 
    1843         yield indent*"\t" 
     1831    def _str(self, indent): 
    18441832        yield _formatnestednameul4(self.varname) 
    18451833        yield " = " 
    1846         yield from self.value._str(indent, keepws) 
     1834        yield from self.value._str(indent) 
    18471835        yield "\n" 
    18481836 
     
    18591847    """ 
    18601848 
    1861     def _str(self, indent, keepws): 
    1862         yield indent*"\t" 
     1849    def _str(self, indent): 
    18631850        yield _formatnestednameul4(self.varname) 
    18641851        yield " += " 
    1865         yield from self.value._str(indent, keepws) 
     1852        yield from self.value._str(indent) 
    18661853        yield "\n" 
    18671854 
     
    18781865    """ 
    18791866 
    1880     def _str(self, indent, keepws): 
    1881         yield indent*"\t" 
     1867    def _str(self, indent): 
    18821868        yield _formatnestednameul4(self.varname) 
    18831869        yield " -= " 
    1884         yield from self.value._str(indent, keepws) 
     1870        yield from self.value._str(indent) 
    18851871        yield "\n" 
    18861872 
     
    18971883    """ 
    18981884 
    1899     def _str(self, indent, keepws): 
    1900         yield indent*"\t" 
     1885    def _str(self, indent): 
    19011886        yield _formatnestednameul4(self.varname) 
    19021887        yield " *= " 
    1903         yield from self.value._str(indent, keepws) 
     1888        yield from self.value._str(indent) 
    19041889        yield "\n" 
    19051890 
     
    19171902    """ 
    19181903 
    1919     def _str(self, indent, keepws): 
    1920         yield indent*"\t" 
     1904    def _str(self, indent): 
    19211905        yield _formatnestednameul4(self.varname) 
    19221906        yield " //= " 
    1923         yield from self.value._str(indent, keepws) 
     1907        yield from self.value._str(indent) 
    19241908        yield "\n" 
    19251909 
     
    19361920    """ 
    19371921 
    1938     def _str(self, indent, keepws): 
    1939         yield indent*"\t" 
     1922    def _str(self, indent): 
    19401923        yield _formatnestednameul4(self.varname) 
    19411924        yield " /= " 
    1942         yield from self.value._str(indent, keepws) 
     1925        yield from self.value._str(indent) 
    19431926        yield "\n" 
    19441927 
     
    19551938    """ 
    19561939 
    1957     def _str(self, indent, keepws): 
    1958         yield indent*"\t" 
     1940    def _str(self, indent): 
    19591941        yield _formatnestednameul4(self.varname) 
    19601942        yield " %= " 
    1961         yield from self.value._str(indent, keepws) 
     1943        yield from self.value._str(indent) 
    19621944        yield "\n" 
    19631945 
     
    20282010                p.text("at {:#x}".format(id(self))) 
    20292011 
    2030     def _str(self, indent, keepws): 
    2031         yield from self.obj._str(indent, keepws) 
     2012    def _str(self, indent): 
     2013        yield from self.obj._str(indent) 
    20322014        yield "(" 
    20332015        first = True 
     
    20372019            else: 
    20382020                yield ", " 
    2039             yield from arg._str(indent, keepws) 
     2021            yield from arg._str(indent) 
    20402022        for (argname, argvalue) in self.kwargs: 
    20412023            if first: 
     
    20452027            yield argname 
    20462028            yield "=" 
    2047             yield from argvalue._str(indent, keepws) 
     2029            yield from argvalue._str(indent) 
    20482030        if self.remargs is not None: 
    20492031            if first: 
     
    20522034                yield ", " 
    20532035            yield "*" 
    2054             yield from self.remargs._str(indent, keepws) 
     2036            yield from self.remargs._str(indent) 
    20552037        if self.remkwargs is not None: 
    20562038            if first: 
     
    20592041                yield ", " 
    20602042            yield "**" 
    2061             yield from self.remkwargs._str(indent, keepws) 
     2043            yield from self.remkwargs._str(indent) 
    20622044        yield ")" 
    20632045 
     
    21642146                p.text("at {:#x}".format(id(self))) 
    21652147 
    2166     def _str(self, indent, keepws): 
     2148    def _str(self, indent): 
    21672149        yield from self._formatop(self.obj) 
    21682150        yield "." 
     
    21752157            else: 
    21762158                yield ", " 
    2177             yield from arg._str(indent, keepws) 
     2159            yield from arg._str(indent) 
    21782160        for (argname, argvalue) in self.kwargs: 
    21792161            if first: 
     
    21832165            yield argname 
    21842166            yield "=" 
    2185             yield from argvalue._str(indent, keepws) 
     2167            yield from argvalue._str(indent) 
    21862168        if self.remargs is not None: 
    21872169            if first: 
     
    21902172                yield ", " 
    21912173            yield "*" 
    2192             yield from self.remargs._str(indent, keepws) 
     2174            yield from self.remargs._str(indent) 
    21932175        if self.remkwargs is not None: 
    21942176            if first: 
     
    21972179                yield ", " 
    21982180            yield "**" 
    2199             yield from self.remkwargs._str(indent, keepws) 
     2181            yield from self.remkwargs._str(indent) 
    22002182        yield ")" 
    22012183 
     
    23012283        return s + " at {:#x}>".format(id(self)) 
    23022284 
    2303     def _str(self, indent, keepws): 
    2304         yield indent*"\t" 
     2285    def _str(self, indent): 
    23052286        yield "def " 
    23062287        yield self.name if self.name is not None else "unnamed" 
    23072288        yield ":\n" 
    2308         indent += 1 
    2309         yield from super()._str(indent, keepws) 
    2310  
    2311     def __str__(self): 
    2312         return "".join(self._str(0, self.keepws)) 
     2289        yield from super()._str(indent+1) 
    23132290 
    23142291    def _repr_pretty_(self, p, cycle):