form 1
ramaH ca lakzmaRaH ca gacCataH
ramaH ca lakzmaRaH ca sItA ca gacCanti
form 2
ramaH lakzmaRaH ca gacCataH
form 1a/2a
gacCati instead of gacCataH
Disjunctive (all these forms with vA)
Possible solution
Preprocess graph
(form -> same viBakti (in general sense, including tip) -> (ca)*)0+ (form -> same viBakti (in general sense, including tip) -> (ca))
Add "optional" linga/vacana to last ca/vA form, modify match function to check for these optional linga-vacanas as well (needed?).
Afterwards, run the normal edge insertion algorithms.
form 1 ramaH ca lakzmaRaH ca gacCataH ramaH ca lakzmaRaH ca sItA ca gacCanti form 2 ramaH lakzmaRaH ca gacCataH form 1a/2a gacCati instead of gacCataH
Disjunctive (all these forms with vA)
Possible solution
Preprocess graph (form -> same viBakti (in general sense, including tip) -> (ca)*)0+ (form -> same viBakti (in general sense, including tip) -> (ca))
Add "optional" linga/vacana to last ca/vA form, modify match function to check for these optional linga-vacanas as well (needed?). Afterwards, run the normal edge insertion algorithms.