Beispiel #1
0
def p_RT1(p):
    """RT : TRAIT"""
    p[0] = Gloseur(head="RT",
                   children=[
                       Gloseur(head="TRAIT",
                               leaf=p[1],
                               feedback=BTOS(bout=[],
                                             trait_ordre=[p[1]],
                                             syntaxe=[p[1]]))
                   ],
                   feedback=BTOS(bout=[], trait_ordre=[p[1]], syntaxe=[p[1]]))
Beispiel #2
0
def p_POLY(p):
    """POLY : POLYSE RT"""
    p[0] = Gloseur(head="POLY",
                   children=[
                       Gloseur(head="POLYSE",
                               leaf=p[1],
                               feedback=BTOS(bout=[p[1]],
                                             trait_ordre=[],
                                             syntaxe=[p[1]])), p[2]
                   ],
                   feedback=BTOS(bout=[p[1]] + p[2].feedback.B,
                                 trait_ordre=[] + p[2].feedback.TO,
                                 syntaxe=[p[1]] + p[2].feedback.S))
Beispiel #3
0
def p_RT2(p):
    """RT : TRAIT GPTRAITS"""
    p[0] = Gloseur(head="RT",
                   children=[
                       Gloseur(head="TRAIT",
                               leaf=p[1],
                               feedback=BTOS(bout=[],
                                             trait_ordre=[p[1]],
                                             syntaxe=[p[1]])), p[2]
                   ],
                   feedback=BTOS(bout=[] + p[2].feedback.B,
                                 trait_ordre=[p[1]] + p[2].feedback.TO,
                                 syntaxe=[p[1]] + p[2].feedback.S))
Beispiel #4
0
def p_GPHRASE(p):
    """GPHRASE : PHRASE K"""
    p[0] = Gloseur(head="GPHRASE",
                   children=[
                       Gloseur(head="PHRASE",
                               leaf=p[1],
                               feedback=BTOS(bout=[p[1]],
                                             trait_ordre=[],
                                             syntaxe=[p[1]])), p[2]
                   ],
                   feedback=BTOS(bout=[p[1]] + p[2].feedback.B,
                                 trait_ordre=[] + p[2].feedback.TO,
                                 syntaxe=[p[1]] + p[2].feedback.S))
Beispiel #5
0
def p_T9(p):
    """T : AFFIX POLYP"""
    p[0] = Gloseur(head="T",
                   children=[
                       Gloseur(head="AFFIX",
                               leaf=p[1],
                               feedback=BTOS(bout=[p[1]],
                                             trait_ordre=[],
                                             syntaxe=[p[1]])), p[2]
                   ],
                   feedback=BTOS(bout=[p[1]] + p[2].feedback.B,
                                 trait_ordre=[] + p[2].feedback.TO,
                                 syntaxe=[p[1]] + p[2].feedback.S))
Beispiel #6
0
def p_T15(p):
    "RT : POLYP CIRCONF1"
    p[0] = Gloseur(head="T",
                   children=[
                       Gloseur(head="CIRCONF1",
                               leaf=p[1],
                               feedback=BTOS(bout=[p[1]],
                                             trait_ordre=[],
                                             syntaxe=[p[1]])), p[2]
                   ],
                   feedback=BTOS(bout=[p[1]] + p[2].feedback.B,
                                 trait_ordre=[] + p[2].feedback.TO,
                                 syntaxe=[p[1]] + p[2].feedback.S))
Beispiel #7
0
def p_R2(p):
    """R : LEMME INHERP"""
    p[0] = Gloseur(head="R",
                   children=[
                       Gloseur(head="LEMME",
                               leaf=p[1],
                               feedback=BTOS(bout=[],
                                             trait_ordre=[p[1]],
                                             syntaxe=[p[1]])), p[2]
                   ],
                   feedback=BTOS(bout=[] + p[2].feedback.B,
                                 trait_ordre=[p[1]] + p[2].feedback.TO,
                                 syntaxe=[p[1]] + p[2].feedback.S))
Beispiel #8
0
def p_T12(p):
    """T : POLYP CIRCONF2"""
    p[0] = Gloseur(head="T",
                   children=[
                       p[1],
                       Gloseur(head="CIRCONF2",
                               leaf=p[2],
                               feedback=BTOS(bout=[p[2]],
                                             trait_ordre=[],
                                             syntaxe=[p[2]]))
                   ],
                   feedback=BTOS(bout=p[1].feedback.B + [p[2]],
                                 trait_ordre=p[1].feedback.TO + [],
                                 syntaxe=p[1].feedback.S + [p[2]]))
Beispiel #9
0
def p_R4(p):
    """R : DPTRAIT LEMME"""
    p[0] = Gloseur(head="R",
                   children=[
                       p[1],
                       Gloseur(head="LEMME",
                               leaf=p[2],
                               feedback=BTOS(bout=[],
                                             trait_ordre=[p[2]],
                                             syntaxe=[p[2]]))
                   ],
                   feedback=BTOS(bout=p[1].feedback.B + [],
                                 trait_ordre=[] + [p[2]],
                                 syntaxe=p[1].feedback.S + [p[2]]))
Beispiel #10
0
def p_T6(p):
    """T : POLYP CLITIC"""
    p[0] = Gloseur(type=None,
                   head="T",
                   children=[
                       p[1],
                       Gloseur(head="CLITIC",
                               leaf=p[2],
                               feedback=BTOS(bout=[p[2]],
                                             trait_ordre=[],
                                             syntaxe=[p[2]]))
                   ],
                   feedback=BTOS(bout=p[1].feedback.B + [p[2]],
                                 trait_ordre=p[1].feedback.TO + [],
                                 syntaxe=p[1].feedback.S + [p[2]]))
Beispiel #11
0
def p_RT3(p):
    """RT : GPTRAITS"""
    p[0] = Gloseur(head="RT",
                   children=[p[1]],
                   feedback=BTOS(bout=p[1].feedback.B,
                                 trait_ordre=p[1].feedback.TO,
                                 syntaxe=p[1].feedback.S))
Beispiel #12
0
def p_POLYP1(p):
    """POLYP : RT"""
    p[0] = Gloseur(head="POLYP",
                   children=[p[1]],
                   feedback=BTOS(bout=p[1].feedback.B,
                                 trait_ordre=p[1].feedback.TO,
                                 syntaxe=p[1].feedback.S))
Beispiel #13
0
def p_K1(p):
    """K : R"""
    p[0] = Gloseur(head="K",
                   children=[p[1]],
                   feedback=BTOS(bout=p[1].feedback.B,
                                 trait_ordre=p[1].feedback.TO,
                                 syntaxe=p[1].feedback.S))
Beispiel #14
0
def p_T14(p):
    """T : MORPH0"""
    p[0] = Gloseur(head="T",
                   children=[p[1]],
                   feedback=BTOS(bout=p[1].feedback.B,
                                 trait_ordre=p[1].feedback.TO,
                                 syntaxe=p[1].feedback.S))
Beispiel #15
0
def p_R3(p):
    """R : POLYP"""
    p[0] = Gloseur(head="R",
                   children=[p[1]],
                   feedback=BTOS(bout=p[1].feedback.B,
                                 trait_ordre=p[1].feedback.TO,
                                 syntaxe=p[1].feedback.S))
Beispiel #16
0
def p_GPHRASES1(p):
    """GPHRASES : GPHRASE GPHRASES
    			| GPHRASE
    """
    if len(p) == 3:
        p[0] = Gloseur(head="GPHRASES",
                       children=[p[1], p[2]],
                       feedback=BTOS(
                           bout=p[1].feedback.B + p[2].feedback.B,
                           trait_ordre=p[1].feedback.TO + p[2].feedback.TO,
                           syntaxe=p[1].feedback.S + p[2].feedback.S))
    else:
        p[0] = Gloseur(head="GPHRASES",
                       children=[p[1]],
                       feedback=BTOS(bout=p[1].feedback.B,
                                     trait_ordre=p[1].feedback.TO,
                                     syntaxe=p[1].feedback.S))
Beispiel #17
0
def p_TS1(p):
    """TS : T TS
          | T
    """
    if len(p) == 3:
        p[0] = Gloseur(head="TS",
                       children=[p[1], p[2]],
                       feedback=BTOS(
                           bout=p[1].feedback.B + p[2].feedback.B,
                           trait_ordre=p[1].feedback.TO + p[2].feedback.TO,
                           syntaxe=p[1].feedback.S + p[2].feedback.S))
    else:
        p[0] = Gloseur(head="TS",
                       children=[p[1]],
                       feedback=BTOS(bout=p[1].feedback.B,
                                     trait_ordre=p[1].feedback.TO,
                                     syntaxe=p[1].feedback.S))
Beispiel #18
0
def p_GPTRAITS1(p):
    """GPTRAITS : GPTRAIT GPTRAITS
    			| GPTRAIT
    """
    if (len(p) == 3):
        p[0] = Gloseur(head="GPTRAITS",
                       children=[p[1], p[2]],
                       feedback=BTOS(
                           bout=p[1].feedback.B + p[2].feedback.B,
                           trait_ordre=p[1].feedback.TO + p[2].feedback.TO,
                           syntaxe=p[1].feedback.S + p[2].feedback.S))
    else:
        p[0] = Gloseur(head="GPTRAITS",
                       children=[p[1]],
                       feedback=BTOS(bout=p[1].feedback.B,
                                     trait_ordre=p[1].feedback.TO,
                                     syntaxe=p[1].feedback.S))
Beispiel #19
0
def p_POLYP2(p):
    """POLYP : RT POLYS"""
    p[0] = Gloseur(head="POLYP",
                   children=[p[1], p[2]],
                   feedback=BTOS(bout=p[1].feedback.B + p[2].feedback.B,
                                 trait_ordre=p[1].feedback.TO +
                                 p[2].feedback.TO,
                                 syntaxe=p[1].feedback.S + p[2].feedback.S))
Beispiel #20
0
def p_M2(p):
    """M : K GPHRASES"""
    p[0] = Gloseur(head="M",
                   children=[p[1], p[2]],
                   feedback=BTOS(bout=p[1].feedback.B + p[2].feedback.B,
                                 trait_ordre=p[1].feedback.TO +
                                 p[2].feedback.TO,
                                 syntaxe=p[1].feedback.S + p[2].feedback.S))
Beispiel #21
0
def p_POLYS1(p):
    """POLYS : POLY POLYS
             | POLY
    """
    if len(p) == 3:
        p[0] = Gloseur(head="POLYS",
                       children=[p[1], p[2]],
                       feedback=BTOS(
                           bout=p[1].feedback.B + p[2].feedback.B,
                           trait_ordre=p[1].feedback.TO + p[2].feedback.TO,
                           syntaxe=p[1].feedback.S + p[2].feedback.S))
    else:
        p[0] = Gloseur(head="POLYS",
                       children=[p[1]],
                       feedback=BTOS(bout=p[1].feedback.B,
                                     trait_ordre=p[1].feedback.TO,
                                     syntaxe=p[1].feedback.S))
Beispiel #22
0
def p_K2(p):
    """K : R TS"""
    p[0] = Gloseur(head="K",
                   children=[p[1], p[2]],
                   feedback=BTOS(bout=p[1].feedback.B + p[2].feedback.B,
                                 trait_ordre=p[1].feedback.TO +
                                 p[2].feedback.TO,
                                 syntaxe=p[1].feedback.S + p[2].feedback.S))
Beispiel #23
0
def p_DPTRAIT(p):
    """DPTRAIT : TRAIT PORTMA"""
    p[0] = Gloseur(head="DPTRAIT",
                   children=[
                       Gloseur(head="TRAIT",
                               leaf=p[1],
                               feedback=BTOS(bout=[],
                                             trait_ordre=[p[1]],
                                             syntaxe=[p[1]])),
                       Gloseur(head="PORTMA",
                               leaf=p[2],
                               feedback=BTOS(bout=[p[2]],
                                             trait_ordre=[],
                                             syntaxe=[p[2]]))
                   ],
                   feedback=BTOS(bout=[] + [p[2]],
                                 trait_ordre=[p[1]] + [],
                                 syntaxe=[p[1]] + [p[2]]))
Beispiel #24
0
def p_MORPH0(p):
    """MORPH0 : GMORPH0 POLYP DMORPH0"""
    p[0] = Gloseur(head="MORPH0",
                   children=[
                       Gloseur(head="GMORPH0",
                               leaf=p[1],
                               feedback=BTOS(bout=[p[1]],
                                             trait_ordre=[],
                                             syntaxe=[p[1]])), p[2],
                       Gloseur(head="DMORPH0",
                               leaf=p[3],
                               feedback=BTOS(bout=[p[3]],
                                             trait_ordre=[],
                                             syntaxe=[p[3]]))
                   ],
                   feedback=BTOS(bout=[p[1]] + p[2].feedback.B + [p[3]],
                                 trait_ordre=[] + p[2].feedback.TO + [],
                                 syntaxe=[p[1]] + p[2].feedback.S + [p[3]]))
Beispiel #25
0
def p_INHERP(p):
    """INHERP : GINHER POLYP DINHER"""
    p[0] = Gloseur(head="INHERP",
                   children=[
                       Gloseur(head="GINHER",
                               leaf=p[1],
                               feedback=BTOS(bout=[p[1]],
                                             trait_ordre=[],
                                             syntaxe=[p[1]])), p[2],
                       Gloseur(head="DINHER",
                               leaf=p[3],
                               feedback=BTOS(bout=[p[3]],
                                             trait_ordre=[],
                                             syntaxe=[p[3]]))
                   ],
                   feedback=BTOS(bout=[p[1]] + p[2].feedback.B + [p[3]],
                                 trait_ordre=[] + p[2].feedback.TO + [],
                                 syntaxe=[p[1]] + p[2].feedback.S + [p[3]]))
Beispiel #26
0
def p_INFIX(p):
    """INFIX : GINFIX POLYP DINFIX"""
    p[0] = Gloseur(type=None,
                   head="INFIX",
                   children=[
                       Gloseur(head="GINFIX",
                               leaf=p[1],
                               feedback=BTOS(bout=[p[1]],
                                             trait_ordre=[],
                                             syntaxe=[p[1]])), p[2],
                       Gloseur(head="DINFIX",
                               leaf=p[3],
                               feedback=BTOS(bout=[p[3]],
                                             trait_ordre=[],
                                             syntaxe=[p[3]]))
                   ],
                   feedback=BTOS(bout=[p[1]] + p[2].feedback.B + [p[3]],
                                 trait_ordre=[] + p[2].feedback.TO + [],
                                 syntaxe=[p[1]] + p[2].feedback.S + [p[3]]))