Grammalecte  Check-in [93c718cc67]

Overview
Comment:[core] semantic (token) tags
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core | rg
Files: files | file ages | folders
SHA3-256: 93c718cc670039571013d28c5497ef4052b3c773fa208c83ce8ac8ecf2428bbf
User & Date: olr on 2018-07-19 08:31:24
Other Links: branch diff | manifest | tags
Context
2018-07-19
08:51
[build][core] new sign for sentence tags: % check-in: f875f6c740 user: olr tags: core, build, rg
08:31
[core] semantic (token) tags check-in: 93c718cc67 user: olr tags: core, rg
07:34
[core] gc engine: token tags (character: /) check-in: 81f21e06d4 user: olr tags: core, rg
Changes

Modified gc_core/py/lang_core/gc_engine.py from [177fbea14b] to [cc991a6483].

782
783
784
785
786
787
788










789
790
791
792
793
794
795
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805







+
+
+
+
+
+
+
+
+
+







                                globals()[sWhat](self.lToken, nTokenOffset)
                            elif cActionType == ">":
                                # we do nothing, this test is just a condition to apply all following actions
                                if bDebug:
                                    print("  COND_OK")
                                pass
                            elif cActionType == "/":
                                if bDebug:
                                    print("  SEMANTIC_TAG:\n  ", dRule[sRuleId])
                                nTokenStart = nTokenOffset + eAct[0]
                                nTokenEnd = nTokenOffset + eAct[1]
                                for i in range(nTokenStart, nTokenEnd+1)
                                    if "tags" in self.lToken[i]:
                                        self.lToken[i]["tags"].update(sWhat.split("|"))
                                    else:
                                        self.lToken[i]["tags"] = set(sWhat.split("|"))
                            elif cActionType == "%":
                                # sentence tags
                                if bDebug:
                                    print("  SENTENCE_TAG:\n  ", dRule[sRuleId])
                                nTokenTag = nTokenOffset + eAct[0]
                                if sWhat not in self.dTags:
                                    self.dTags[sWhat] = (nTokenTag, nTokenTag)
                                elif nTokenTag > self.dTags[sWhat][1]: