Overview
| Comment: | [core] ibdawg: add next node when drawing path of a word | 
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive | 
| Timelines: | family | ancestors | descendants | both | trunk | core | 
| Files: | files | file ages | folders | 
| SHA3-256: | 
94f5da9f4a051e893ad2d3df37d93e99 | 
| User & Date: | olr on 2017-06-29 04:16:25 | 
| Other Links: | manifest | tags | 
Context
| 
   2017-06-29 
 | ||
| 13:20 | [core] dawg: attempt to speed up the dictionary lookup by reordering arcs (pointless ATM) check-in: b038740434 user: olr tags: trunk, core | |
| 04:16 | [core] ibdawg: add next node when drawing path of a word check-in: 94f5da9f4a user: olr tags: trunk, core | |
| 
   2017-06-28 
 | ||
| 19:40 | [core] ibdawg: draw path taken by word in dawg check-in: d99a910d73 user: olr tags: trunk, core | |
Changes
Modified gc_core/py/ibdawg.py from [b249dfb9bf] to [cbe111edf6].
| ︙ | ︙ | |||
262 263 264 265 266 267 268  | 
        for c in cp.d1to1.get(cChar, [cChar]):
            if c in self.dChar:
                jAddr = self._lookupArcNode(self.dChar[c], iAddr)
                if jAddr:
                    yield (c, jAddr)
    def drawPath (self, sWord, iAddr=0):
 | | < | > >  | 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288  | 
        for c in cp.d1to1.get(cChar, [cChar]):
            if c in self.dChar:
                jAddr = self._lookupArcNode(self.dChar[c], iAddr)
                if jAddr:
                    yield (c, jAddr)
    def drawPath (self, sWord, iAddr=0):
        cChar = sWord[0:1]  if sWord  else " "
        iPos = -1
        n = 0
        print(cChar + ": ", end="")
        for nVal, jAddr in self._getArcs(iAddr):
            if nVal in self.dCharVal:
                print(self.dCharVal[nVal], end="")
                if self.dCharVal[nVal] == sWord[0:1]:
                    iNextNodeAddr = jAddr
                    iPos = n
                n += 1
        if not sWord:
            return
        if iPos >= 0:
            print("\n   "+ " " * iPos + "|")
            self.drawPath(sWord[1:], iNextNodeAddr)
    # def morph (self, sWord):
    #     is defined in __init__
 | 
| ︙ | ︙ |