Overview
Comment: | [build][fix] check regexes: memorize checked regexes |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | build | rg |
Files: | files | file ages | folders |
SHA3-256: |
74d9c8e099a507197df6ad872b579a15 |
User & Date: | olr on 2018-06-27 23:39:10 |
Other Links: | branch diff | manifest | tags |
Context
2018-06-28
| ||
07:53 | [graphspell][core] tokenizer: rename ELPFX tokens to WORD_ELIDED check-in: a1b165e276 user: olr tags: core, graphspell, rg | |
2018-06-27
| ||
23:39 | [build][fix] check regexes: memorize checked regexes check-in: 74d9c8e099 user: olr tags: build, rg | |
23:36 | [build] check regexes: memorize checked regexes check-in: 6f12ea6825 user: olr tags: build, rg | |
Changes
Modified compile_rules_graph.py from [f859281899] to [4e3eba14a0].
︙ | ︙ | |||
377 378 379 380 381 382 383 | if False: print("\nActions:") for sActionName, aAction in dACTIONS.items(): print(sActionName, aAction) print("\nFunctions:") print(sPyCallables) | < < | 377 378 379 380 381 382 383 384 385 386 387 388 389 | if False: print("\nActions:") for sActionName, aAction in dACTIONS.items(): print(sActionName, aAction) print("\nFunctions:") print(sPyCallables) # Result return { "graph_callables": sPyCallables, "rules_graphs": dAllGraph, "rules_actions": dACTIONS } |
Modified darg.py from [e3a97a1f63] to [02fc45c534].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #!python3 """ RULE GRAPH BUILDER """ # by Olivier R. # License: MPL 2 from graphspell.progressbar import ProgressBar class DARG: """DIRECT ACYCLIC RULE GRAPH""" # This code is inspired from Steve Hanov’s DAWG, 2011. (http://stevehanov.ca/blog/index.php?id=115) | > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #!python3 """ RULE GRAPH BUILDER """ # by Olivier R. # License: MPL 2 import re import traceback from graphspell.progressbar import ProgressBar class DARG: """DIRECT ACYCLIC RULE GRAPH""" # This code is inspired from Steve Hanov’s DAWG, 2011. (http://stevehanov.ca/blog/index.php?id=115) |
︙ | ︙ | |||
138 139 140 141 142 143 144 | if type(val) is int: dVal[sArc] = dKeyTrans[val] else: for sArc, nKey in val.items(): val[sArc] = dKeyTrans[nKey] return dNewGraph | | | | | | 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | if type(val) is int: dVal[sArc] = dKeyTrans[val] else: for sArc, nKey in val.items(): val[sArc] = dKeyTrans[nKey] return dNewGraph def _checkRegexes (self, dGraph): "check validity of regexes" aRegex = set() for nKey, dVal in dGraph.items(): if "<re_value>" in dVal: for sRegex in dVal["<re_value>"]: if sRegex not in aRegex: self._checkRegex(sRegex) aRegex.add(sRegex) if "<re_morph>" in dVal: for sRegex in dVal["<re_morph>"]: if sRegex not in aRegex: self._checkRegex(sRegex) aRegex.add(sRegex) aRegex.clear() def _checkRegex (self, sRegex): #print(sRegex) if "¬" in sRegex: sPattern, sNegPattern = sRegex.split("¬") try: if not sNegPattern: print("# Warning! Empty negpattern:", sRegex) re.compile(sPattern) |
︙ | ︙ |