Grammalecte  Check-in [7fe296fd4f]

Overview
Comment:[core] debug mode: label for immunity
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core | rg
Files: files | file ages | folders
SHA3-256: 7fe296fd4fe5d64e1c8770e9c60b1ff700c101d91448337f740b6c21be10b9fb
User & Date: olr on 2018-08-13 09:20:44
Other Links: branch diff | manifest | tags
Context
2018-08-13
10:05
[build] graph builder: remove action duplicates check-in: 89ae59c7fa user: olr tags: build, rg
09:20
[core] debug mode: label for immunity check-in: 7fe296fd4f user: olr tags: core, rg
2018-08-12
22:26
[fr] conversion: regex rules -> graph rules check-in: 718821a6cb user: olr tags: fr, rg
Changes

Modified gc_core/py/lang_core/gc_engine.py from [74dc3a8b69] to [d5983e0d9b].

827
828
829
830
831
832
833


834
835
836
837
838
839
840
                                if sWhat not in self.dTags:
                                    self.dTags[sWhat] = [nTokenStart, nTokenStart]
                                else:
                                    self.dTags[sWhat][0] = min(nTokenStart, self.dTags[sWhat][0])
                                    self.dTags[sWhat][1] = max(nTokenEnd, self.dTags[sWhat][1])
                            elif cActionType == "%":
                                # immunity


                                nTokenStart = nTokenOffset + eAct[0]  if eAct[0] > 0  else nLastToken + eAct[0]
                                nTokenEnd = nTokenOffset + eAct[1]  if eAct[1] > 0  else nLastToken + eAct[1]
                                if nTokenEnd - nTokenStart == 0:
                                    self.lToken[nTokenStart]["bImmune"] = True
                                    nErrorStart = self.nOffsetWithinParagraph + self.lToken[nTokenStart]["nStart"]
                                    if nErrorStart in self.dError:
                                        del self.dError[nErrorStart]







>
>







827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
                                if sWhat not in self.dTags:
                                    self.dTags[sWhat] = [nTokenStart, nTokenStart]
                                else:
                                    self.dTags[sWhat][0] = min(nTokenStart, self.dTags[sWhat][0])
                                    self.dTags[sWhat][1] = max(nTokenEnd, self.dTags[sWhat][1])
                            elif cActionType == "%":
                                # immunity
                                if bDebug:
                                    print("  IMMUNITY:\n  ", dRule[sRuleId])
                                nTokenStart = nTokenOffset + eAct[0]  if eAct[0] > 0  else nLastToken + eAct[0]
                                nTokenEnd = nTokenOffset + eAct[1]  if eAct[1] > 0  else nLastToken + eAct[1]
                                if nTokenEnd - nTokenStart == 0:
                                    self.lToken[nTokenStart]["bImmune"] = True
                                    nErrorStart = self.nOffsetWithinParagraph + self.lToken[nTokenStart]["nStart"]
                                    if nErrorStart in self.dError:
                                        del self.dError[nErrorStart]