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__ |
︙ | ︙ |