From 3e21dbf99b29315f80826eb2b665dc2188fbeba7 Mon Sep 17 00:00:00 2001 From: eldams Date: Wed, 10 May 2017 18:34:33 +0200 Subject: [PATCH] New version of grammar (compilation error) --- doc/samples/bamana.gram.txt | 166 ++++++++++++++++++------------------ 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/doc/samples/bamana.gram.txt b/doc/samples/bamana.gram.txt index 7de06d1..d0afc90 100644 --- a/doc/samples/bamana.gram.txt +++ b/doc/samples/bamana.gram.txt @@ -41,111 +41,111 @@ return if parsed section inflection # verbal inflection # -la/-na PROG -pattern :v: [ {@nasal-v@|na}:: ] | :v: [:v: :mrph:PROG] -pattern :v: [ {@nonnasal-v@|la}:: ] | :v: [:v: :mrph:PROG] +pattern :v: [{@nasal-v@|na}::] | :v: [:v: :mrph:PROG] +pattern :v: [{@nonnasal-v@|la}::] | :v: [:v: :mrph:PROG] # moved up from v_vq_derivation because of na/la ambiguity -pattern :n: [ {@smth-nasal@|na}:: ] | :n: [ :v: :mrph:AG.PRM] -pattern :n: [ {@nonnasal-v@|la}:: ] | :n: [ :v: :mrph:AG.PRM] +pattern :n: [{@smth-nasal@|na}::] | :n: [:v: :mrph:AG.PRM] +pattern :n: [{@nonnasal-v@|la}::] | :n: [:v: :mrph:AG.PRM] # -ra/-la/-na PFV.INTR -pattern :v: [ {@nasal-syl@|n[a']}:: ] | :v: [:v: :mrph:PFV.INTR] -pattern :v: [ {@glide-syl@|l[a']}:: ] | :v: [:v: :mrph:PFV.INTR] -pattern :v: [ {@nonnasalglide-syl@|r[a']}:: ] | :v: [:v: :mrph:PFV.INTR] +pattern :v: [{@nasal-syl@|n[a']}::] | :v: [:v: :mrph:PFV.INTR] +pattern :v: [{@glide-syl@|l[a']}::] | :v: [:v: :mrph:PFV.INTR] +pattern :v: [{@nonnasalglide-syl@|r[a']}::] | :v: [:v: :mrph:PFV.INTR] # nominal inflection # -w PL -pattern :n/adj/dtm/prn/ptcp/n.prop/num: [ {|w}:: ] | :n/adj/dtm/prn/ptcp/n.prop/num: [:n/adj/dtm/prn/ptcp/n.prop/num: :mrph:PL] +pattern :n/adj/dtm/prn/ptcp/n.prop/num: [{|w}::] | :n/adj/dtm/prn/ptcp/n.prop/num: [:n/adj/dtm/prn/ptcp/n.prop/num: :mrph:PL] # participles section participles -pattern :v/ptcp: [ {|bali}:: ] | :ptcp: [ :v: :mrph:PTCP.PRIV] -pattern :v/ptcp: [ {|ta}:: ] | :ptcp: [ :v: :mrph:PTCP.POT] -pattern :v/ptcp: [ {|tɔ}:: ] | :ptcp: [ :v: :mrph:CONV.PROG] -pattern :v/ptcp: [ {@smth-nasal@|nen}:: ] | :ptcp: [ :v: :mrph:PTCP.RES] -pattern :v/ptcp: [ {@nonnasal-v@|len}:: ] | :ptcp: [ :v: :mrph:PTCP.RES] +pattern :v/ptcp: [{|bali}::] | :ptcp: [:v: :mrph:PTCP.PRIV] +pattern :v/ptcp: [{|ta}::] | :ptcp: [:v: :mrph:PTCP.POT] +pattern :v/ptcp: [{|tɔ}::] | :ptcp: [:v: :mrph:CONV.PROG] +pattern :v/ptcp: [{@smth-nasal@|nen}::] | :ptcp: [:v: :mrph:PTCP.RES] +pattern :v/ptcp: [{@nonnasal-v@|len}::] | :ptcp: [:v: :mrph:PTCP.RES] -pattern :v/ptcp: [ {@smth-nasal@|nen|ba}:: ] | :ptcp: [ :v: :mrph:PTCP.RES :mrph:AUGM] -pattern :v/ptcp: [ {@nonnasal-v@|len|ba}:: ] | :ptcp: [ :v: :mrph:PTCP.RES :mrph:AUGM] +pattern :v/ptcp: [{@smth-nasal@|nen|ba}::] | :ptcp: [:v: :mrph:PTCP.RES :mrph:AUGM] +pattern :v/ptcp: [{@nonnasal-v@|len|ba}::] | :ptcp: [:v: :mrph:PTCP.RES :mrph:AUGM] # derivative forms we need to consider even if we have them in dictionary section common_derivation -pattern :ptcp/n/adj: [ {|nin}:: ] | :ptcp/n/adj: [:ptcp/n/adj: :mrph:DIM] -pattern :n/adj/ptcp/v: [ {|ya}:: ] | :n: [:n/adj/ptcp/v: :mrph:ABSTR] -pattern :ptcp/n/adj: [ {|ba}:: ] | :ptcp/n/adj: [:ptcp/n/adj: :mrph:AUGM] +pattern :ptcp/n/adj: [{|nin}::] | :ptcp/n/adj: [:ptcp/n/adj: :mrph:DIM] +pattern :n/adj/ptcp/v: [{|ya}::] | :n: [:n/adj/ptcp/v: :mrph:ABSTR] +pattern :ptcp/n/adj: [{|ba}::] | :ptcp/n/adj: [:ptcp/n/adj: :mrph:AUGM] # to handle -baliya ex: basigi.bali.ya -pattern :v/ptcp/n/adj: [ {|bali|ya}:: ] | :n: [:v/ptcp: :mrph:PTCP.PRIV :mrph:ABSTR] +pattern :v/ptcp/n/adj: [{|bali|ya}::] | :n: [:v/ptcp: :mrph:PTCP.PRIV :mrph:ABSTR] # common nominal/verbal derivation (locatives) section n_v_derivation -pattern :n/n.prop: [ {|ka}:: ] | :n/n.prop: [:n/n.prop: :mrph:GENT] -pattern :n/n.prop: [ {@nasal-v@|na}:: ] | :n/n.prop: [:n/n.prop: :mrph:LOC] -pattern :n/n.prop: [ {@nonnasal-v@|la}:: ] | :n/n.prop: [:n/n.prop: :mrph:LOC] +pattern :n/n.prop: [{|ka}::] | :n/n.prop: [:n/n.prop: :mrph:GENT] +pattern :n/n.prop: [{@nasal-v@|na}::] | :n/n.prop: [:n/n.prop: :mrph:LOC] +pattern :n/n.prop: [{@nonnasal-v@|la}::] | :n/n.prop: [:n/n.prop: :mrph:LOC] # nominal derivation section n_derivation -pattern :n: [ {@smth-nasal@|nama}:: ] | :n: [ :n: :mrph:STAT] -pattern :n: [ {@nonnasal-v@|lama}:: ] | :n: [ :n: :mrph:STAT] -pattern :n: [ {|ma}:: ] | :n: [ :n: :mrph:COM] -pattern :adj/n: [ {|ntan}:: ] | :adj/n: [ :n: :mrph:PRIV] -pattern :adj/n: [ {|bagatɔ}:: ] | :adj/n: [ :n: :mrph:ST] -pattern :adj/n: [ {|baatɔ}:: ] | :adj/n: [ :n: :mrph:ST] -pattern :n: [ {ɲɔgɔn|}:: ] | :n: [ :prn:RECP :n: ] -pattern :n: [ {|ɲwaa?n}:: ] | :n: [ :n: :prn:RECP] +pattern :n: [{@smth-nasal@|nama}::] | :n: [:n: :mrph:STAT] +pattern :n: [{@nonnasal-v@|lama}::] | :n: [:n: :mrph:STAT] +pattern :n: [{|ma}::] | :n: [:n: :mrph:COM] +pattern :adj/n: [{|ntan}::] | :adj/n: [:n: :mrph:PRIV] +pattern :adj/n: [{|bagatɔ}::] | :adj/n: [:n: :mrph:ST] +pattern :adj/n: [{|baatɔ}::] | :adj/n: [:n: :mrph:ST] +pattern :n: [{ɲɔgɔn|}::] | :n: [:prn:RECP :n:] +pattern :n: [{|ɲwaa?n}::] | :n: [:n: :prn:RECP] # verbal/vq derivation section v_vq_derivation -pattern :n: [ {@smth-nasal@|nan}:: ] | :n: [ :v: :mrph:INSTR] -pattern :n: [ {@nonnasal-v@|lan}:: ] | :n: [ :v: :mrph:INSTR] -pattern :n: [ {@smth-nasal@|ni}:: ] | :n: [ :v: :mrph:NMLZ] -pattern :n: [ {@nonnasal-v@|li}:: ] | :n: [ :v: :mrph:NMLZ] -pattern :n: [ {|baga}:: ] | :n: [ :v: :mrph:AG.OCC] -pattern :n: [ {|baa}:: ] | :n: [ :v: :mrph:AG.OCC] -pattern :n: [ {|baga|nci}:: ] | :n: [ :v: :mrph:AG.OCC :mrph:AG.EX] -pattern :n: [ {|baa|nci}:: ] | :n: [ :v: :mrph:AG.OCC :mrph:AG.EX] +pattern :n: [{@smth-nasal@|nan}::] | :n: [:v: :mrph:INSTR] +pattern :n: [{@nonnasal-v@|lan}::] | :n: [:v: :mrph:INSTR] +pattern :n: [{@smth-nasal@|ni}::] | :n: [:v: :mrph:NMLZ] +pattern :n: [{@nonnasal-v@|li}::] | :n: [:v: :mrph:NMLZ] +pattern :n: [{|baga}::] | :n: [:v: :mrph:AG.OCC] +pattern :n: [{|baa}::] | :n: [:v: :mrph:AG.OCC] +pattern :n: [{|baga|nci}::] | :n: [:v: :mrph:AG.OCC :mrph:AG.EX] +pattern :n: [{|baa|nci}::] | :n: [:v: :mrph:AG.OCC :mrph:AG.EX] # attempt to handle -likɛ, -likɛla, others like -liwari... -pattern :v: [ {@nonnasal-v@|li|kɛ}:: ] | :v: [ :v: :mrph:NMLZ kɛ́:v:faire] -pattern :n: [ {@nonnasal-v@|li|kɛ|la}:: ] | :n: [ :v: :mrph:NMLZ kɛ́:v:faire :mrph:AG.PRM] -pattern :v: [ {@smth-nasal@|ni|kɛ}:: ] | :v: [ :v: :mrph:NMLZ kɛ́:v:faire] -pattern :n: [ {@smth-nasal@|ni|kɛ|la}:: ] | :n: [ :v: :mrph:NMLZ kɛ́:v:faire :mrph:AG.PRM] -pattern :n: [ {@nonnasal-v@|li|wari}:: ] | :n: [ :v: :mrph:NMLZ :n:] -pattern :n: [ {@smth-nasal@|ni|wari}:: ] | :n: [ :v: :mrph:NMLZ :n:] -pattern :n: [ {@nonnasal-v@|li|fɛn}:: ] | :n: [ :v: :mrph:NMLZ fɛ́n:n:chose] -pattern :n: [ {@smth-nasal@|ni|fɛn}:: ] | :n: [ :v: :mrph:NMLZ fɛ́n:n:chose] -pattern :n: [ {@nonnasal-v@|li|ko}:: ] | :n: [ :v: :mrph:NMLZ kó:n:affaire] -pattern :n: [ {@smth-nasal@|ni|ko}:: ] | :n: [ :v: :mrph:NMLZ kó:n:affaire] +pattern :v: [{@nonnasal-v@|li|kɛ}::] | :v: [:v: :mrph:NMLZ kɛ́:v:faire] +pattern :n: [{@nonnasal-v@|li|kɛ|la}::] | :n: [:v: :mrph:NMLZ kɛ́:v:faire :mrph:AG.PRM] +pattern :v: [{@smth-nasal@|ni|kɛ}::] | :v: [:v: :mrph:NMLZ kɛ́:v:faire] +pattern :n: [{@smth-nasal@|ni|kɛ|la}::] | :n: [:v: :mrph:NMLZ kɛ́:v:faire :mrph:AG.PRM] +pattern :n: [{@nonnasal-v@|li|wari}::] | :n: [:v: :mrph:NMLZ :n:] +pattern :n: [{@smth-nasal@|ni|wari}::] | :n: [:v: :mrph:NMLZ :n:] +pattern :n: [{@nonnasal-v@|li|fɛn}::] | :n: [:v: :mrph:NMLZ fɛ́n:n:chose] +pattern :n: [{@smth-nasal@|ni|fɛn}::] | :n: [:v: :mrph:NMLZ fɛ́n:n:chose] +pattern :n: [{@nonnasal-v@|li|ko}::] | :n: [:v: :mrph:NMLZ kó:n:affaire] +pattern :n: [{@smth-nasal@|ni|ko}::] | :n: [:v: :mrph:NMLZ kó:n:affaire] # need to handle -ba AUGM inside ex: ko.jugu.ba.kɛ.la -pattern :n: [ {|ɲɔgɔn}:: ] | :n: [ :v: :prn:RECP] -pattern :n: [ {|ɲwaa?n}:: ] | :n: [ :v: :prn:RECP] -pattern :n: [ {ɲɔgɔn|}:: ] | :n: [ :prn:RECP :v: ] +pattern :n: [{|ɲɔgɔn}::] | :n: [:v: :prn:RECP] +pattern :n: [{|ɲwaa?n}::] | :n: [:v: :prn:RECP] +pattern :n: [{ɲɔgɔn|}::] | :n: [:prn:RECP :v:] # vq derivation section vq_derivation -pattern :vq: [ {|ya}:: ] | :n/v: [ :vq: :mrph:DEQU] -pattern :adj: [ {|man}:: ] | :adj: [ :vq: :mrph:ADJ] +pattern :vq: [{|ya}::] | :n/v: [:vq: :mrph:DEQU] +pattern :adj: [{|man}::] | :adj: [:vq: :mrph:ADJ] # numeral derivation section num_derivation -pattern :num: [ {@nasal-v@|na}:: ] | :num: [ :num: :mrph:PRICE] -pattern :num: [ {@nonnasal-v@|la}:: ] | :num: [ :num: :mrph:PRICE] -pattern :num: [ {@nasal-v@|nan}:: ] | :num: [ :num: :mrph:ORD] -pattern :num: [ {[0-9]+|nan}:: ] | :num: [ :num: :mrph:ORD] -pattern :num: [ {@nonnasal-v@|lan}:: ] | :num: [ :num: :mrph:ORD] +pattern :num: [{@nasal-v@|na}::] | :num: [:num: :mrph:PRICE] +pattern :num: [{@nonnasal-v@|la}::] | :num: [:num: :mrph:PRICE] +pattern :num: [{@nasal-v@|nan}::] | :num: [:num: :mrph:ORD] +pattern :num: [{[0-9]+|nan}::] | :num: [:num: :mrph:ORD] +pattern :num: [{@nonnasal-v@|lan}::] | :num: [:num: :mrph:ORD] ## reduplication section reduplication -pattern :v: [ {(?P.+)|(?P=stem)}:: ] | :v: [ :v: :v: ] -pattern :adj: [ {(?P.+)|(?P=stem)}:: ] | :adj: [ :adj: :adj: ] -pattern :num: [ {(?P.+)|(?P=stem)}:: ] | :num: [ :num: :num: ] -pattern :v: [ {(?P.+)|-|(?P=stem)}:: ] | :v: [ :v: :: :v: ] -pattern :adj: [ {(?P.+)|-|(?P=stem)}:: ] | :adj: [ :adj: :: :adj: ] -pattern :num: [ {(?P.+)|-|(?P=stem)}:: ] | :num: [ :num: :: :num: ] -pattern :v: [ {(?P.+)|(?P=stem)|(?P=stem)}:: ] | :v: [ :v: :v: :v: ] -pattern :adj: [ {(?P.+)|(?P=stem)|(?P=stem)}:: ] | :adj: [ :adj: :adj: :adj: ] +pattern :v: [{(?P.+)|(?P=stem)}::] | :v: [:v: :v:] +pattern :adj: [{(?P.+)|(?P=stem)}::] | :adj: [:adj: :adj:] +pattern :num: [{(?P.+)|(?P=stem)}::] | :num: [:num: :num:] +pattern :v: [{(?P.+)|-|(?P=stem)}::] | :v: [:v: :: :v:] +pattern :adj: [{(?P.+)|-|(?P=stem)}::] | :adj: [:adj: :: :adj:] +pattern :num: [{(?P.+)|-|(?P=stem)}::] | :num: [:num: :: :num:] +pattern :v: [{(?P.+)|(?P=stem)|(?P=stem)}::] | :v: [:v: :v: :v:] +pattern :adj: [{(?P.+)|(?P=stem)|(?P=stem)}::] | :adj: [:adj: :adj: :adj:] ## composition # general part-of-speech composition patterns @@ -154,44 +154,44 @@ section pos_composition # two-words composites # n.prop + n = n ex: Irisi.jamana -pattern :n: [ :n.prop: :n: ] | :n: [ :n.prop: :n: ] +pattern :n: [:n.prop: :n:] | :n: [:n.prop: :n:] # v/n + n = n -pattern :n: [ :n/v: :n: ] | :n: [ :n/v: :n: ] +pattern :n: [:n/v: :n:] | :n: [:n/v: :n:] # n + v = n/v -pattern :n/v: [ :n: :v: ] | :n/v: [ :n: :v: ] +pattern :n/v: [:n: :v:] | :n/v: [:n: :v:] # n + adj/num = n -pattern :n: [ :n: :adj/num: ] | :n: [ :n: :adj/num: ] +pattern :n: [:n: :adj/num:] | :n: [:n: :adj/num:] # dtm + v = n -pattern :n: [ :dtm: :v: ] | :n: [ :dtm: :v: ] +pattern :n: [:dtm: :v:] | :n: [:dtm: :v:] # pp + n = n ex. kɔkan.maliden, kɔnɔ.mɔgɔ -pattern :n: [ :pp: :n: ] | :n: [ :pp: :n: ] +pattern :n: [:pp: :n:] | :n: [:pp: :n:] # three-words composites # n + adj/pp/num + n = n -> added num : san.duuru.baara -pattern :n: [ :n: :adj/pp/num: :n: ] | :n: [ :n: :adj/pp/num: :n: ] +pattern :n: [:n: :adj/pp/num: :n:] | :n: [:n: :adj/pp/num: :n:] # dtm/n + v + n = n -pattern :n: [ :dtm/n: :v: :n: ] | :n: [ :dtm/n: :v: :n: ] +pattern :n: [:dtm/n: :v: :n:] | :n: [:dtm/n: :v: :n:] # n + pp + v = n/v -pattern :n/v: [ :n: :pp: :v: ] | :n/v: [ :n: :pp: :v: ] +pattern :n/v: [:n: :pp: :v:] | :n/v: [:n: :pp: :v:] # n+n+n = n yiriwali.nafolo.ko ? -pattern :n: [ :n: :n: :n: ] | :n: [ :n: :n: :n: ] +pattern :n: [:n: :n: :n:] | :n: [:n: :n: :n:] # ??? : mrph not taken into acount (not in dic?) # v+mrph+n ex: gansi.li.walan -pattern :n: [ :v: li:mrph: :n: ] | :n: [ :v: :mrph:NMLZ :n: ] -pattern :n: [ :n: ba:mrph: :n: ] | :n: [ :n: :mrph:AUGM :n: ] +pattern :n: [:v: li:mrph: :n:] | :n: [:v: :mrph:NMLZ :n:] +pattern :n: [:n: ba:mrph: :n:] | :n: [:n: :mrph:AUGM :n:] # v+mrph+v ex: kɔlɔsi.li.kɛ -pattern :v: [ :v: li:mrph: :v: ] | :v: [ :v: :mrph:NMLZ :v: ] -pattern :n: [ :v: ka:pm: :v: ] | :n: [ :v: kà:pm:INF :v: ] +pattern :v: [:v: li:mrph: :v:] | :v: [:v: :mrph:NMLZ :v:] +pattern :n: [:v: ka:pm: :v:] | :n: [:v: kà:pm:INF :v:] # four-words composites # n + pp + n + n = n -pattern :n: [ :n: :pp: :n: :n: ] | :n: [ :n: :pp: :n: :n: ] +pattern :n: [:n: :pp: :n: :n:] | :n: [:n: :pp: :n: :n:] # n + pp + adj + n = n Ex: dugu.jukɔrɔ.nafoloma.fɛn -pattern :n: [ :n: :pp: :adj: :n: ] | :n: [ :n: :pp: :adj: :n: ] +pattern :n: [:n: :pp: :adj: :n:] | :n: [:n: :pp: :adj: :n:] # n+v+v+n : kunnafoni.falen.falen.ko -pattern :n: [ :n: :v: :v: :n: ] | :n: [ :n: :v: :v: :n: ] +pattern :n: [:n: :v: :v: :n:] | :n: [:n: :v: :v: :n:] # orthographically unlikely to be bamana words