Skip to content

Commit b9c68ff

Browse files
committed
Issue 663 closed
#663
1 parent 0ab6d3a commit b9c68ff

File tree

2 files changed

+73
-16
lines changed

2 files changed

+73
-16
lines changed

panini.php

Lines changed: 68 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -830,7 +830,11 @@
830830
elseif ($type==="tiGanta") // this option is used for subanta / tiGanta generation. $input is 'prakRti'+'pratyaya'.
831831
{
832832
$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")))
834838
{
835839
$input = ltrim(chop($first."+".$second));
836840
}
@@ -878,7 +882,6 @@
878882
$text = change('/([^+])$/','$1+Ric');
879883
storedata('3.1.26','sa',0);
880884
}
881-
print_r($text);
882885
/* sArvadhAtuke yak (3.1.67) */
883886
if ( in_array($vAcya,array("karma","bhAva")) && $pada==="pratyaya" && in_array($lakAra,array("law","low","laN","viDiliN",)) )
884887
{
@@ -2526,7 +2529,7 @@
25262529
/* NeraniTi (6.4.51) */
25272530
if (arr($text,'/^['.pc('hl').']/') && $sanAdi==="yak")
25282531
{
2529-
$text = one(array("i+ya+"),array("+ya+"),0);
2532+
$text = one(array("i+ya+","+i+"),array("+ya+","+"),0);
25302533
storedata('6.4.51','sa',0);
25312534
}
25322535
/* sArvadhAtukArdhadhAtukayoH (7.3.84) */
@@ -3193,7 +3196,6 @@
31933196
$text=pr2(array("+"),array("Ja"),blank(0),array("+"),array("ata"),blank(0),$text);
31943197
storedata('7.1.5','sa',0);
31953198
}
3196-
print_r($text);
31973199
/* Ato GitaH (7.2.81) */
31983200
if ( arr($text,'/[a][+][A]/') && in_array($so,$tiG) ) // bad
31993201
{
@@ -3717,15 +3719,15 @@
37173719
storedata('7.2.115','sa',0);
37183720
}
37193721
// 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")
37213723
{
37223724
$text = two($ac,array("+"),vriddhi($ac),array("+"),1);
37233725
storedata('7.2.115','sa',0);
37243726
}
37253727
/* patch for sautra dhAtu Rta */
37263728
$text=one(array("ft+Iya+"),array("ftIya+"),0);
37273729
/* 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) )
37293731
{
37303732
$text = two(array("han"),array("+"),array("Gan"),array("+"),0);
37313733
storedata('7.3.54','sa',0);
@@ -3740,7 +3742,7 @@
37403742
storedata('7.2.116','sa',0);
37413743
}
37423744
// 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")
37443746
{
37453747
$text = three(array("a"),$hl,array("+"),array("A"),$hl,array("+"),1);
37463748
storedata('7.2.116','sa',0);
@@ -3831,6 +3833,36 @@
38313833
$text = two(prat('ec'),array("+i+",),$ayavayavah,array("+i+",),0);
38323834
storedata('6.1.78','sa',0);
38333835
}
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+
}
38343866
/* ho hanterJNinneSu (7.3.54) */
38353867
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) )
38363868
{
@@ -4689,7 +4721,7 @@
46894721
/* patch for yAsuT Agama to combine it with the next pratyaya. because it would not be getting iDAgama. */
46904722
//$text = one(array("+yA+"),array("+yA"),0);
46914723
/* 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
46934725
{
46944726
$text1= array();
46954727
foreach ($text as $value)
@@ -4708,7 +4740,7 @@
47084740
storedata('7.2.35','sa',0);
47094741
$Agama=array_merge($Agama,array("iw"));
47104742
}
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.
47124744
{
47134745
$text1 = change('/(['.pc('al').'][+])(['.pc('vl').'])([^+]*)$/','$1i$2$3');
47144746
$text = array_merge($text,$text1);
@@ -4755,6 +4787,12 @@
47554787
$text = three(array("Svi","Su+Su"),array("+"),prat('vl'),array("Svi","Su+Su"),array("+i"),prat('vl'),0);
47564788
storedata('7.2.35','sa',0);
47574789
}
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+
}
47584796
/* mRjervRddhiH (7.2.114) */
47594797
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').']/') )
47604798
{
@@ -11100,8 +11138,6 @@
1110011138
$usplus=$us."+";
1110111139
$text=Adyanta($text,$usplus,1);
1110211140
$upasarga_joined=1;
11103-
$pada="pada";
11104-
$us='';
1110511141
}
1110611142
/* tripAdI functions */
1110711143
// 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,7 +12131,7 @@
1209512131
}
1209612132
if ( arr($text,'/['.pc('ac').'HM! ][+]['.pc('ac').']/') || arr($text,'/[HM!][+]['.pc('ac').']/') )
1209712133
{
12098-
$text = one(array("+"),array(" "),0);
12134+
$text = one(array("+"),array(""),0);
1209912135
}
1210012136
if ( arr($text,'/['.pc('ac').' ][+]['.pc('hl').'MH]/') || arr($text,'/[+]$/') || arr($text,'/['.pc('hl').'][+][HM]/'))
1210112137
{
@@ -12105,6 +12141,26 @@
1210512141
{
1210612142
$text = one(array("+"),array(""),0);
1210712143
}
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+
1210812164
$ras = '/([rzfF])([aAiIuUfFxXeoEOhyvrkKgGNpPbBmM+]*)([n])/';
1210912165
$rasend = '/([rzfF])([aAiIuUfFxXeoEOhyvrkKgGNpPbBmM+]*)([n])$/';
1211012166
$rasgrep= '/([rzfF][aAiIuUfFxXeoEOhyvrkKgGNpPbBmM+]*[n])/';

tiGanta.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,18 +58,19 @@
5858
<input type="radio" name="tran" value="SLP1" checked>SLP1
5959
<br>
6060
<!--... Defining sanAdi of the verb. -->
61-
<input type="radio" name="sanAdi" value="san">सन्‌
61+
<!--<input type="radio" name="sanAdi" value="san">सन्‌
6262
<input type="radio" name="sanAdi" value="kyac">क्यच्‌
6363
<input type="radio" name="sanAdi" value="kAmyac">काम्यच्‌
6464
<input type="radio" name="sanAdi" value="kyaz">क्यष्‌
6565
<input type="radio" name="sanAdi" value="kyaN">क्यङ्‌
66-
<input type="radio" name="sanAdi" value="kvip">क्विप्‌
66+
<input type="radio" name="sanAdi" value="kvip">क्विप्‌-->
6767
<input type="radio" name="sanAdi" value="Ric">णिच्‌
6868
<!--<input type="radio" name="sanAdi" value="RiN">णिङ्‌
6969
<input type="radio" name="sanAdi" value="yak">यक्‌
7070
<input type="radio" name="sanAdi" value="Aya">आय
71-
<input type="radio" name="sanAdi" value="IyaN">ईयङ्‌-->
72-
<input type="radio" name="sanAdi" value="aN">अङ्‌
71+
<input type="radio" name="sanAdi" value="IyaN">ईयङ्‌
72+
<input type="radio" name="sanAdi" value="aN">अङ्‌-->
73+
<input type="radio" name="sanAdi" value="" checked>None
7374

7475
<!--<input type="hidden" name="sanAdi" value="" checked>-->
7576
<input type="hidden" name="frontend" value="1" checked>

0 commit comments

Comments
 (0)