Index: compile_rules_graph.py ================================================================== --- compile_rules_graph.py +++ compile_rules_graph.py @@ -155,11 +155,11 @@ sOption = m.group(1) sAction = sAction[m.end():].strip() if nPriority == -1: nPriority = dOptPriority.get(sOption, 4) # valid action? - m = re.search(r"(?P[-~=/>])(?P\d+\.?|)(?P:\.?\d+|)>>", sAction) + m = re.search(r"(?P[-~=/%>])(?P\d+\.?|)(?P:\.?\d+|)>>", sAction) if not m: print(" # Error. No action found at: ", sActionId) return None # Condition sCondition = sAction[:m.start()].strip() @@ -250,11 +250,11 @@ dFUNCTIONS["_g_p_"+sActionId] = sAction[1:] sAction = "=_g_p_"+sActionId elif sAction.startswith('"') and sAction.endswith('"'): sAction = sAction[1:-1] return [sOption, sCondition, cAction, sAction, iStartAction, iEndAction] - elif cAction == "/": + elif cAction == "%" or cAction == "/": ## tags return [sOption, sCondition, cAction, sAction, iStartAction, iEndAction] elif cAction == "=": ## disambiguator if sAction[0:1] == "=": Index: gc_core/py/lang_core/gc_engine.py ================================================================== --- gc_core/py/lang_core/gc_engine.py +++ gc_core/py/lang_core/gc_engine.py @@ -788,11 +788,11 @@ 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) + 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 == "%": Index: gc_lang/fr/rules.grx ================================================================== --- gc_lang/fr/rules.grx +++ gc_lang/fr/rules.grx @@ -5781,43 +5781,43 @@ __tag_sujets__ [je|j’] [moi|moi-même] qui [moi|moi-même] [seul|seule] - <<- />> 1s + <<- %>> 1s tu t’ @:2s t’ [en|y] @:2s [toi|toi-même] ?,¿ qui [toi|toi-même] [seul|seule] - <<- />> 2s + <<- %>> 2s nous nous ?,¿ qui nous-même nous-mêmes nous [seul|seuls|seules] [et|ou] [moi|moi-même] ni [moi|moi-même] [moi|moi-même] et - <<- />> 1p + <<- %>> 1p vous vous ?,¿ qui vous-même vous-mêmes vous [seul|seule|seuls|seules] [et|ou] [toi|toi-même] ni [toi|toi-même] [toi|toi-même] et - <<- />> 2p + <<- %>> 2p __tag_prop_sub__ ce [que|qu’|qu] - <<- />> ce_que + <<- %>> ce_que ## Incohérences avec formes verbales 1sg et 2sg sans sujet __conj_xxxai__sans_sujet!3__