# ===================== # # Northern Haida disambiguator # # ===================== # # ========== # # Delimiters # # ========== # DELIMITERS = "<.>" "" "" "<¶>"; # ============= # # Tags and sets # # ============= # # ======== SETS # ======== LIST BOS = (>>>) (); LIST EOS = (<<<) (); # vislcg and CG-2 together. LIST V = V ; LIST N = N ; LIST NEGATIVE = NEGATIVE ; LIST 3rd_PERSON_PLURAL = 3rd_PERSON_PLURAL ; LIST INTERROGATIVE = INTERROGATIVE ; LIST FUTURE = FUTURE ; LIST PAST = PAST ; LIST PRESENT = PRESENT ; LIST HABITUAL = HABITUAL ; LIST BIASED = BIASED ; LIST CERTAIN = CERTAIN ; LIST SIMPLE = SIMPLE ; LIST RELATIVE = RELATIVE ; LIST NON_FACTIVE = NON_FACTIVE ; LIST IMMEDIATE = IMMEDIATE ; LIST VERYNEAR = VERYNEAR ; LIST REFLEXIVE = REFLEXIVE ; LIST NEAR = NEAR ; LIST INDIRECT = INDIRECT ; LIST DIRECT = DIRECT ; LIST SHOULD_KEEP_ON_VERBING_FOR_A_WHILE = SHOULD_KEEP_ON_VERBING_FOR_A_WHILE ; LIST SHORT = SHORT ; LIST RESIGNED_OBLIGATION = RESIGNED_OBLIGATION ; LIST LONG = LONG ; LIST INTENSIVE = INTENSIVE ; LIST IMPERATIVE = IMPERATIVE ; LIST EVIDENTIAL = EVIDENTIAL ; LIST COUNTERFACTUAL = COUNTERFACTUAL ; LIST SINGULAR = SINGULAR ; LIST PLURAL = PLURAL ; LIST Def = Def ; LIST Indef = Indef ; LIST Rfx = Rfx ; LIST CHA = ("cha«.*"r) ; # cha«dáal LIST DLA = ("dla«.*"r) ; # dla«dáal LIST CL/cha = CL/cha ; LIST CL/dla = CL/dla ; LIST CLtypes = CL/Shape CL/Manner CL/Human CL/Human_Male CL/Human_Female CL/Descriptive CL/Sound CL/Color ; # SET CL-VERB = V + CLtypes ; SET NOT-CL-VERB = V - CL-VERB ; ######################## ######################### ######################## ######################### # disambiguation # ######################## ######################### ######################## ######################### BEFORE-SECTIONS SECTION REMOVE CL-VERB IF (0 NOT-CL-VERB) ; ######################## ######################### ######################## ######################### # vasta tasks # ######################## ######################### ######################## ######################### SECTION MAP (@inc_CL) TARGET CL-VERB IF (NOT 0 CHA LINK *0 N + CL/cha) ; MAP (@inc_CL) TARGET CL-VERB IF (NOT 0 DLA LINK *0 N + CL/dla) ; # for testing: # chíin chagáng # gwáahl dlagáng AFTER-SECTIONS #=====# END # #=====# #hdn$ echo 'chíin chagáng' | preprocess |uhdn |lookup2cg | vislcg3 -g src/hdn-ped.cg3 #should give: #"" #"chíin" CL/Human CL/dla N Indef #"" #"cha«gáng" V CL/Shape INTERROGATIVE SIMPLE PRESENT @inc_CL #"cha«gáng" V CL/Shape SINGULAR IMPERATIVE @inc_CL #hdn$ echo 'gwáahl dlagáng' | preprocess |uhdn |lookup2cg | src/hdn-ped.cg3 #should give: #"" #"gwáahl" CL/Shape CL/cha N Indef #"" #"dlagáng" V SINGULAR IMPERATIVE #"dlagáng" V INTERROGATIVE SIMPLE PRESENT #"dla«gáng" V CL/Shape INTERROGATIVE SIMPLE PRESENT @inc_CL #"dla«gáng" V CL/Shape SINGULAR IMPERATIVE @inc_CL #hdn$ echo 'gwáahl chagáng' | preprocess |uhdn |lookup2cg | src/hdn-ped.cg3 #should give: #"" #"gwáahl" CL/Shape CL/cha N Indef #"" #"cha«gáng" V CL/Shape INTERROGATIVE SIMPLE PRESENT #"cha«gáng" V CL/Shape SINGULAR IMPERATIVE