DELIMITERS = "<.>" "" "" "<...>" ; SETS LIST N = n; LIST Adj = adj; LIST Adv = adv; LIST Verb = vblex; LIST Vbser = vbser; LIST Prn = prn; LIST MaleNoun = (n m); LIST FemaleNoun = (n f); LIST NorPrn = n prn; LIST Sg = sg; LIST Pl = pl; LIST P1 = p1; LIST P2 = p2; LIST P3 = p3; LIST M = m; LIST F = f; SECTION # NOUN # Select noun if preceded by an adjective. SELECT N IF (0 N) (0 Verb) (-1 Adj) ; # Adjective # Select adjective if followed by a noun. SELECT Adj IF (0 Adj) (0 Adv) (1 N); # Adverb # Select adverb if followed by a verb. SELECT Adv IF (0 Adj) (0 Adv) (1 Verb); # VERBS # Select verb if preceded by an adverb. SELECT Verb IF (0 N) (0 Verb) (-1 Adv) ; # Prefer singular for verbs if preceded by a singular noun or pronoun SELECT Sg IF (0 Verb) (-1* (NorPrn sg)); # Prefer plural for verbs if preceded by a plural noun or pronoun SELECT Pl IF (0 Verb) (-1* (NorPrn pl)); # Prefer 1st person for verbs if preceded by a 1st person noun or pronoun SELECT P1 IF (0 Verb) (-1* (NorPrn p1)); # Prefer 2nd person for verbs if preceded by a 2nd person noun or pronoun SELECT P2 IF (0 Verb) (-1* (NorPrn p2)); # Prefer 3rd person for verbs if preceded by a 3rd person noun or pronoun SELECT P3 IF (0 Verb) (-1* (NorPrn p3)); # Prefer masculine for verbs if preceded by a masculine noun or pronoun SELECT M IF (0 Verb) (-1* (NorPrn m)); # Prefer feminine for verbs if preceded by a feminine noun or pronoun SELECT F IF (0 Verb) (-1* (NorPrn f)); # Resources: # http://visl.sdu.dk/cg3.html # http://groups.google.com/group/constraint-grammar # http://kevindonnelly.org.uk/2010/05/constraint-grammar-tutorial/ # https://wiki.apertium.org/wiki/Constraint_Grammar # https://wiki.apertium.org/wiki/Apertium_and_Constraint_Grammar