# ===================== #
# 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