Overview
Comment: | [core] fix bug about context |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | core | rg |
Files: | files | file ages | folders |
SHA3-256: |
1fbd95d6f41404643a6a04a5420861ea |
User & Date: | olr on 2018-09-07 21:29:38 |
Other Links: | branch diff | manifest | tags |
Context
2018-09-10
| ||
08:19 | [core] gc engine: remove useless function call check-in: 00475b3f6b user: olr tags: core, rg | |
2018-09-07
| ||
21:29 | [core] fix bug about context check-in: 1fbd95d6f4 user: olr tags: core, rg | |
10:09 | [core] gc engine: code cleaning check-in: cc997fd621 user: olr tags: core, rg | |
Changes
Modified gc_core/py/lang_core/gc_engine.py from [9f26b926c3] to [60f5937577].
︙ | ︙ | |||
669 670 671 672 673 674 675 | "sRuleId": sRuleId, "sType": sOption if sOption else "notype", "sMessage": sMessage, "aSuggestions": lSugg, "URL": sURL } if bContext: | | | | | 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 | "sRuleId": sRuleId, "sType": sOption if sOption else "notype", "sMessage": sMessage, "aSuggestions": lSugg, "URL": sURL } if bContext: dErr['sUnderlined'] = self.sText0[nStart:nEnd] dErr['sBefore'] = self.sText0[max(0,nStart-80):nStart] dErr['sAfter'] = self.sText0[nEnd:nEnd+80] return dErr def _expand (self, sText, nTokenOffset, nLastToken): for m in re.finditer(r"\\(-?[0-9]+)", sText): if m.group(1)[0:1] == "-": sText = sText.replace(m.group(0), self.lToken[nLastToken+int(m.group(1))+1]["sValue"]) else: |
︙ | ︙ | |||
901 902 903 904 905 906 907 | if sNegPattern: if sNegPattern == "*": # all morph must match sPattern zPattern = re.compile(sPattern) return all(zPattern.search(sMorph) for sMorph in lMorph) else: zNegPattern = re.compile(sNegPattern) | | | | | | 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 | if sNegPattern: if sNegPattern == "*": # all morph must match sPattern zPattern = re.compile(sPattern) return all(zPattern.search(sMorph) for sMorph in lMorph) else: zNegPattern = re.compile(sNegPattern) if any(zNegPattern.search(sMorph) for sMorph in lMorph): return False # search sPattern zPattern = re.compile(sPattern) return any(zPattern.search(sMorph) for sMorph in lMorph) def analyse (sWord, sPattern, sNegPattern=""): "analyse a word, returns True if not sNegPattern in word morphologies and sPattern in word morphologies (disambiguation off)" lMorph = _oSpellChecker.getMorph(sWord) if not lMorph: return False # check negative condition if sNegPattern: if sNegPattern == "*": zPattern = re.compile(sPattern) return all(zPattern.search(sMorph) for sMorph in lMorph) else: zNegPattern = re.compile(sNegPattern) if any(zNegPattern.search(sMorph) for sMorph in lMorph): return False # search sPattern zPattern = re.compile(sPattern) return any(zPattern.search(sMorph) for sMorph in lMorph) #### Analyse tokens for graph rules def g_value (dToken, sValues, nLeft=None, nRight=None): "test if <dToken['sValue']> is in sValues (each value should be separated with |)" sValue = "|"+dToken["sValue"]+"|" if nLeft is None else "|"+dToken["sValue"][slice(nLeft, nRight)]+"|" |
︙ | ︙ |