|
830 | 830 | elseif ($type==="tiGanta") // this option is used for subanta / tiGanta generation. $input is 'prakRti'+'pratyaya'. |
831 | 831 | { |
832 | 832 | $nonpurelakara = str_replace(array("viDiliN","ASIrliN","sArvaDAtukalew","ArDaDAtukalew","law","liw","luw","lfw","low","laN","luN","lfN"),array("li!N","li!N","le!w","le!w","la!w","li!w","lu!w","lf!w","lo!w","la!N","lu!N","lf!N"),$lakAra); |
833 | | - if ($sanAdi==="yak" && !in_array($lakAra,array("law","low","laN","viDiliN"))) |
| 833 | + if ($_GET['sanAdi']==="Ric" && $sanAdi==="yak" && !in_array($lakAra,array("law","low","laN","viDiliN"))) |
| 834 | + { |
| 835 | + $input = ltrim(chop($first."+Ric+".$second)); |
| 836 | + } |
| 837 | + elseif ($sanAdi==="yak" && !in_array($lakAra,array("law","low","laN","viDiliN"))) |
834 | 838 | { |
835 | 839 | $input = ltrim(chop($first."+".$second)); |
836 | 840 | } |
|
878 | 882 | $text = change('/([^+])$/','$1+Ric'); |
879 | 883 | storedata('3.1.26','sa',0); |
880 | 884 | } |
881 | | -print_r($text); |
882 | 885 | /* sArvadhAtuke yak (3.1.67) */ |
883 | 886 | if ( in_array($vAcya,array("karma","bhAva")) && $pada==="pratyaya" && in_array($lakAra,array("law","low","laN","viDiliN",)) ) |
884 | 887 | { |
|
2526 | 2529 | /* NeraniTi (6.4.51) */ |
2527 | 2530 | if (arr($text,'/^['.pc('hl').']/') && $sanAdi==="yak") |
2528 | 2531 | { |
2529 | | - $text = one(array("i+ya+"),array("+ya+"),0); |
| 2532 | + $text = one(array("i+ya+","+i+"),array("+ya+","+"),0); |
2530 | 2533 | storedata('6.4.51','sa',0); |
2531 | 2534 | } |
2532 | 2535 | /* sArvadhAtukArdhadhAtukayoH (7.3.84) */ |
|
3193 | 3196 | $text=pr2(array("+"),array("Ja"),blank(0),array("+"),array("ata"),blank(0),$text); |
3194 | 3197 | storedata('7.1.5','sa',0); |
3195 | 3198 | } |
3196 | | -print_r($text); |
3197 | 3199 | /* Ato GitaH (7.2.81) */ |
3198 | 3200 | if ( arr($text,'/[a][+][A]/') && in_array($so,$tiG) ) // bad |
3199 | 3201 | { |
|
3717 | 3719 | storedata('7.2.115','sa',0); |
3718 | 3720 | } |
3719 | 3721 | // patch for ArdhadhAtuka leT. |
3720 | | -if ( $Nit===1 && $bhasyADhe!==1 && arr($text,'/['.pc('ac').'][+]/') ) |
| 3722 | +if ( $Nit===1 && $bhasyADhe!==1 && arr($text,'/['.pc('ac').'][+]/') && $lakAra==="ArDaDAtukalew") |
3721 | 3723 | { |
3722 | 3724 | $text = two($ac,array("+"),vriddhi($ac),array("+"),1); |
3723 | 3725 | storedata('7.2.115','sa',0); |
3724 | 3726 | } |
3725 | 3727 | /* patch for sautra dhAtu Rta */ |
3726 | 3728 | $text=one(array("ft+Iya+"),array("ftIya+"),0); |
3727 | 3729 | /* ho hanterJNinneSu (7.3.54) */ |
3728 | | -if (arr(array($fo),'/[h][a][n]/') && !in_array($fo,array("ahan","dIrGAhan")) && (in_array("R",$it) || in_array("Y",$it) || in_array($sanAdi,array("Ric")) || in_array("R",$itpratyaya) || in_array("Y",$itpratyaya)) && sub(array("han"),array("+"),blank(0),0) ) |
| 3730 | +if (arr(array($fo),'/[h][a][n]/') && !in_array($fo,array("ahan","dIrGAhan")) && (in_array("R",$it) || in_array("Y",$it) || in_array($sanAdi,array("Ric")) || $ciN===1 || in_array("R",$itpratyaya) || in_array("Y",$itpratyaya)) && sub(array("han"),array("+"),blank(0),0) ) |
3729 | 3731 | { |
3730 | 3732 | $text = two(array("han"),array("+"),array("Gan"),array("+"),0); |
3731 | 3733 | storedata('7.3.54','sa',0); |
|
3740 | 3742 | storedata('7.2.116','sa',0); |
3741 | 3743 | } |
3742 | 3744 | // patch for ArdhadhAtuka leT. |
3743 | | -if ( $Nit===1 && $atolopa!==1 && $Naugami!==1 && $jAgro!==1 && sub(array("a"),$hl,blank(0),0)) |
| 3745 | +if ( $Nit===1 && $atolopa!==1 && $Naugami!==1 && $jAgro!==1 && sub(array("a"),$hl,blank(0),0) && $lakAra==="ArDaDAtukalew") |
3744 | 3746 | { |
3745 | 3747 | $text = three(array("a"),$hl,array("+"),array("A"),$hl,array("+"),1); |
3746 | 3748 | storedata('7.2.116','sa',0); |
|
3831 | 3833 | $text = two(prat('ec'),array("+i+",),$ayavayavah,array("+i+",),0); |
3832 | 3834 | storedata('6.1.78','sa',0); |
3833 | 3835 | } |
| 3836 | +/* syasicsIyuTtAsiSu bhAvakarmaNorupadeze'jjhanagrahadRzAM ciNvadiT ca (6.4.62) */ |
| 3837 | +if (($syatAsI===1||$sic===1||$sIyuT===1) && (arr($text,'/^[^+]*['.pc('ac').'][+]/')||in_array($fo,array("hana!","graha!","dfSi!r"))) && in_array($vAcya,array("bhAva","karma"))) |
| 3838 | +{ |
| 3839 | + $text=change('/[+]([^+]+)$/','+i$1'); |
| 3840 | + storedata('6.4.62','sa',0); |
| 3841 | + $ciN=1; |
| 3842 | + $Nit=1; |
| 3843 | + $id_dhAtu = "sew"; |
| 3844 | + $Agama=array_merge($Agama,array("iw")); |
| 3845 | + /* aco JNiti (7.2.115) */ |
| 3846 | + if ( arr($text,'/['.pc('ac').'][+]/') ) |
| 3847 | + { |
| 3848 | + $text = two($ac,array("+"),vriddhi($ac),array("+"),0); |
| 3849 | + storedata('7.2.115','sa',3); |
| 3850 | + } |
| 3851 | + /* ho hanterJNinneSu (7.3.54) */ |
| 3852 | + if ( arr(array($fo),'/han/') ) |
| 3853 | + { |
| 3854 | + $text = two(array("han"),array("+i"),array("Gan"),array("+i"),0); |
| 3855 | + storedata('7.3.54','sa',0); |
| 3856 | + $hohante=1; // 0 - this sUtra has not applied. 1 - this sUtra has applied. |
| 3857 | + } |
| 3858 | + /* ata upadhAyAH (7.2.116) */ |
| 3859 | + // more on enumeration kind. Not used regexes deliberately. |
| 3860 | + if ( arr($text,'/[a]['.pc('hl').'][+]i/') ) |
| 3861 | + { |
| 3862 | + $text = three(array("a"),$hl,array("+i"),array("A"),$hl,array("+i"),0); |
| 3863 | + storedata('7.2.116','sa',0); |
| 3864 | + } |
| 3865 | +} |
3834 | 3866 | /* ho hanterJNinneSu (7.3.54) */ |
3835 | 3867 | if ( arr(array($fo),'/[h][a][n]/') && !in_array($fo,array("ahan","dIrGAhan")) && (in_array("R",$it) || in_array("Y",$it) || in_array($sanAdi,array("Ric")) || in_array("R",$itpratyaya) || in_array("Y",$itpratyaya)) && sub(array("han"),array("+"),blank(0),0) ) |
3836 | 3868 | { |
|
4689 | 4721 | /* patch for yAsuT Agama to combine it with the next pratyaya. because it would not be getting iDAgama. */ |
4690 | 4722 | //$text = one(array("+yA+"),array("+yA"),0); |
4691 | 4723 | /* Adding iDAgama actually */ |
4692 | | -if ($id_dhAtu==="sew" && $id_pratyaya==="sew" && !($yAsuT===1 && $lakAra==="ASIrliN") && !in_array("iw",$Agama) && $caG!==1) // for seT dhAtus |
| 4724 | +if ($id_dhAtu==="sew" && $id_pratyaya==="sew" && !($yAsuT===1 && $lakAra==="ASIrliN") && !in_array("iw",$Agama) && $caG!==1 && $ciN!==1) // for seT dhAtus |
4693 | 4725 | { |
4694 | 4726 | $text1= array(); |
4695 | 4727 | foreach ($text as $value) |
|
4708 | 4740 | storedata('7.2.35','sa',0); |
4709 | 4741 | $Agama=array_merge($Agama,array("iw")); |
4710 | 4742 | } |
4711 | | -if ($id_dhAtu==="vew" && $id_pratyaya==="sew" && !($yAsuT===1 && $lakAra==="ASIrliN") && !in_array("iw",$Agama) && !in_array($sanAdi,array("Ric","RiN")) && $caG!==1) // for veT dhAtus optional one. |
| 4743 | +if ($id_dhAtu==="vew" && $id_pratyaya==="sew" && !($yAsuT===1 && $lakAra==="ASIrliN") && !in_array("iw",$Agama) && !in_array($sanAdi,array("Ric","RiN")) && $caG!==1 && $ciN!==1) // for veT dhAtus optional one. |
4712 | 4744 | { |
4713 | 4745 | $text1 = change('/(['.pc('al').'][+])(['.pc('vl').'])([^+]*)$/','$1i$2$3'); |
4714 | 4746 | $text = array_merge($text,$text1); |
|
4755 | 4787 | $text = three(array("Svi","Su+Su"),array("+"),prat('vl'),array("Svi","Su+Su"),array("+i"),prat('vl'),0); |
4756 | 4788 | storedata('7.2.35','sa',0); |
4757 | 4789 | } |
| 4790 | +/* Ato yuk ciNkRtoH (7.3.33) */ |
| 4791 | +if ( arr($text,'/[^+]*A[+]/') && ($ciN===1||$kRt===1||$Nit===1||$Jit===1) ) |
| 4792 | +{ |
| 4793 | + $text = change('/([^+]*A)[+]/','$1y+'); |
| 4794 | + storedata('7.3.33','sa',0); |
| 4795 | +} |
4758 | 4796 | /* mRjervRddhiH (7.2.114) */ |
4759 | 4797 | if ( arr($text,'/j\+/') && (ends($itpratyaya,array("k","N"),2) || $kGiti===1) && sub(array("mfj","marj"),array("+","+i"),$ac,0) && in_array($so,$tiG) && arr($text,'/mfj[+]['.pc('ac').']/') ) |
4760 | 4798 | { |
|
11100 | 11138 | $usplus=$us."+"; |
11101 | 11139 | $text=Adyanta($text,$usplus,1); |
11102 | 11140 | $upasarga_joined=1; |
11103 | | - $pada="pada"; |
11104 | | - $us=''; |
11105 | 11141 | } |
11106 | 11142 | /* tripAdI functions */ |
11107 | 11143 | // tripAdI functions are always applied in serial manner because of 'pUrvatrAsiddham'. Therefor there is no possibility of a sUtra being applied out of turn (Except explicitly mentioned in grammar books.) |
|
12095 | 12131 | } |
12096 | 12132 | if ( arr($text,'/['.pc('ac').'HM! ][+]['.pc('ac').']/') || arr($text,'/[HM!][+]['.pc('ac').']/') ) |
12097 | 12133 | { |
12098 | | -$text = one(array("+"),array(" "),0); |
| 12134 | +$text = one(array("+"),array(""),0); |
12099 | 12135 | } |
12100 | 12136 | if ( arr($text,'/['.pc('ac').' ][+]['.pc('hl').'MH]/') || arr($text,'/[+]$/') || arr($text,'/['.pc('hl').'][+][HM]/')) |
12101 | 12137 | { |
|
12105 | 12141 | { |
12106 | 12142 | $text = one(array("+"),array(""),0); |
12107 | 12143 | } |
| 12144 | +/* upasarga addition */ |
| 12145 | +if ($us!=="") |
| 12146 | +{ |
| 12147 | + /* akaH savarNe dIrghaH (6.1.101) patch for upasargas */ |
| 12148 | + if (arr($text,'/[aA][aA]/')) |
| 12149 | + { |
| 12150 | + $text = change('/[aA][aA]/','A'); |
| 12151 | + storedata('6.1.101','sa',0); |
| 12152 | + } |
| 12153 | + /* iko yaNaci (6.1.77) */ |
| 12154 | + if (arr($text,'/[iIuUfFx]['.pc('ac').']/')) |
| 12155 | + { |
| 12156 | + $text = change('/[iI](['.pc('ac').'])/','y$1'); |
| 12157 | + $text = change('/[uU](['.pc('ac').'])/','v$1'); |
| 12158 | + $text = change('/[fF](['.pc('ac').'])/','r$1'); |
| 12159 | + $text = change('/[x](['.pc('ac').'])/','l$1'); |
| 12160 | + storedata('6.1.77','sa',0); |
| 12161 | + } |
| 12162 | +} |
| 12163 | + |
12108 | 12164 | $ras = '/([rzfF])([aAiIuUfFxXeoEOhyvrkKgGNpPbBmM+]*)([n])/'; |
12109 | 12165 | $rasend = '/([rzfF])([aAiIuUfFxXeoEOhyvrkKgGNpPbBmM+]*)([n])$/'; |
12110 | 12166 | $rasgrep= '/([rzfF][aAiIuUfFxXeoEOhyvrkKgGNpPbBmM+]*[n])/'; |
|
0 commit comments