Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- C statement: if(tvibptr->stype =='1'){ /* blah
- bleh */;
- yes=findverb;}
- /* foo */
- अजगर-वाक्य:
- यदि tvibptr.stype == '1':
- #< भागः>{
- '''blah
- bleh'''
- yes = findverb#<\ भागः>
- '''foo'''
- C statement: int yes=0,success=1;char t='ty'
- अजगर-वाक्य:
- yes = 0 # प्रकारः पूर्णांकः
- success = 1 # प्रकारः पूर्णांकः
- t = 'ty' # प्रकारः अक्षरंमाला
- C statement: unsigned char list[]={'पूर्वाण्ह', 'अपराण्ह', 'दिन', 'रात्रि', 'अहोरात्र', 'सप्ताह', 'पक्ष', 'मास', 'संवत्सर'};
- अजगर-वाक्य:
- list = ['पूर्वाण्ह', 'अपराण्ह', 'दिन', 'रात्रि', 'अहोरात्र', 'सप्ताह', 'पक्ष', 'मास', 'संवत्सर'] # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- C statement: choice = (3 + 4 * 8 % 3) / 7;
- a=b; type[i]=words[3][0]; type[a][b]=words[c][d][e]; // rest of line a comment
- अजगर-वाक्य:
- choice = (3 + 4 * 8 % 3) / 7
- a = b
- type[i] = words[3][0]
- type[a][b] = words[c][d][e]
- # rest of line a comment
- C statement: int gcd(unsigned char u, int v)
- { if(v==2) return u - v * w;}
- अजगर-वाक्य:
- निरूप् gcd(u अक्षरंमाला, v पूर्णांकः) -> पूर्णांकः: #< भागः>{
- यदि v == 2: प्रतिदा u
- -v * w#<\ भागः>
- C statement: int gcd(int u, int v){ if(v==k) return u * v/(w+r); else return gcd(v, v + (u-v)/(v-u));}
- अजगर-वाक्य:
- निरूप् gcd(u पूर्णांकः, v पूर्णांकः) -> पूर्णांकः: #< भागः>{
- यदि v == k: प्रतिदा u * v / (w + r)
- अन्यथा : प्रतिदा gcd(v, v + (u - v) / (v - u))#<\ भागः>
- C statement: int choice(char type,unsigned char *word,unsigned char voice[],int pos,VIBAK *tvibptr,FILE *afp,long fl,unsigned char *VerbMean)
- अजगर-वाक्य:
- निरूप् choice(type अक्षरंमाला, word अक्षरंमाला, voice अनुक्रमणिका[ अक्षरंमाला], pos पूर्णांकः, tvibptr VIBAK, afp लेख्यं, fl दशक, VerbMean अक्षरंमाला) -> पूर्णांकः:
- C statement: int choice(int type, unsigned char *word){if(stype!='kartari') {choice = (3 + 4 * 8) / 7; blah = gcd->yt - rt->uy} else choice = rt->uy;}
- अजगर-वाक्य:
- निरूप् choice(type पूर्णांकः, word अक्षरंमाला) -> पूर्णांकः: #< भागः>{
- यदि stype != 'kartari':#< भागः>{
- choice = (3 + 4 * 8) / 7
- blah = gcd.yt - rt.uy#<\ भागः>
- अन्यथा :choice = rt.uy#<\ भागः>
- C statement: int choice(char type,unsigned char *word,unsigned char voice[],int pos,VIBAK *tvibptr,FILE *afp,long fl,unsigned char *VerbMean){int yes=0,success=1;if((tvibptr->stype =='1' && strcmp(tvibptr->specf,'dative')==0 ) || tvibptr->stype =='5' || tvibptr->stype=='2'|| tvibptr->stype=='4') {/* Check for case where there is only a single meaning for चतुर्ती विभक्ति */yes=findverb(voice,tvibptr->sword,tvibptr,afp,fl,VerbMean);}return success;}
- अजगर-वाक्य:
- निरूप् choice(type अक्षरंमाला, word अक्षरंमाला, voice अनुक्रमणिका[ अक्षरंमाला], pos पूर्णांकः, tvibptr VIBAK, afp लेख्यं, fl दशक, VerbMean अक्षरंमाला) -> पूर्णांकः: #< भागः>{
- yes = 0 # प्रकारः पूर्णांकः
- success = 1 # प्रकारः पूर्णांकः
- यदि (tvibptr.stype == '1' च tvibptr.specf == 'dative') वा tvibptr.stype == '5' वा tvibptr.stype == '2' वा tvibptr.stype == '4':
- #< भागः>{
- '''Check for case where there is only a single meaning for चतुर्ती विभक्ति'''
- yes = findverb(voice, tvibptr.sword, tvibptr, afp, fl, VerbMean)#<\ भागः>
- प्रतिदा success#<\ भागः>
- C statement: int choice(char type,unsigned char *word,unsigned char voice[],int pos,VIBAK *tvibptr,FILE *afp,long fl,unsigned char *VerbMean){while(1){if((tvibptr->stype =='1' && strcmp(tvibptr->specf,'dative')==0 ) || tvibptr->stype =='5' || tvibptr->stype=='2'|| tvibptr->stype=='4'){/* Check for case where there is only a single meaning for चतुर्ती विभक्ति */yes=findverb(voice,tvibptr->sword,tvibptr,afp,fl,VerbMean);if(tvibptr->stype=='2' && tvibptr->matnoun !=1 ){switch(tvibptr->spos){case 0:if(tvibptr->semlinga==0)strcat(tvibptr->arthaword,'सा ');if(tvibptr->semlinga==1)strcat(tvibptr->arthaword,'सः ');if(tvibptr->semlinga==2)strcat(tvibptr->arthaword,'त्त ');break;case 1:strcat(tvibptr->arthaword,'तन्निष्ठकर्मतानिरूपक ');break;case 2:strcat(tvibptr->arthaword,'निष्ठकरणतानिरूपक ');break;case 3:strcat(tvibptr->arthaword,'निष्ठसम्प्रदानतानिरूपक ');break;case 4:strcat(tvibptr->arthaword,'निष्ठापादानतानिरूपक ');break;case 5:strcat(tvibptr->arthaword,'निष्ठाधिकरणतानिरूपक ');break;}}if(tvibptr->stype == '2' || tvibptr->stype =='4' || tvibptr->stype=='5')success= 0;}if(tvibptr->stype =='1' && (strcmpi(tvibptr->specf,'object')==0)){ /* Check for case where there is only a single meaning for द्वितीया विभक्ति */yes=findverb(voice,tvibptr->sword,tvibptr,afp,fl,VerbMean);}/* If not in above case following steps lead to menu display for selection based on type of vibhakti */ if(tvibptr->stype =='1') { switch(tvibptr->spos) {case 0:if(strcmpi(voice,'kartari') ==0)strcpy(tvibptr->arthaword,tvibptr->sword);if(strcmpi(voice,'karmani') ==0){strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठकर्तृतानिरूपक ');}break;case 1:if(strcmpi(voice,'kartari') ==0){strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठकर्मतानिरूपक ');}if(strcmpi(voice,'karmani') ==0){strcpy(tvibptr->arthaword,tvibptr->sword);}break; case 2:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठकरणतानिरूपक ');break; case 3:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठसम्प्रदानतानिरूपक ');break; case 4:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठापादानतानिरूपक ');break; case 6:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'सम्बन्धि ');break; case 5:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठाधिकरणतानिरूपक ');break;} } if (tvibptr->next != NULL)tvibptr=tvibptr->next; else break;}return success;}
- अजगर-वाक्य:
- निरूप् choice(type अक्षरंमाला, word अक्षरंमाला, voice अनुक्रमणिका[ अक्षरंमाला], pos पूर्णांकः, tvibptr VIBAK, afp लेख्यं, fl दशक, VerbMean अक्षरंमाला) -> पूर्णांकः: #< भागः>{
- यदा(1):
- #< भागः>{
- यदि (tvibptr.stype == '1' च tvibptr.specf == 'dative') वा tvibptr.stype == '5' वा tvibptr.stype == '2' वा tvibptr.stype == '4':
- #< भागः>{
- '''Check for case where there is only a single meaning for चतुर्ती विभक्ति'''
- yes = findverb(voice, tvibptr.sword, tvibptr, afp, fl, VerbMean)
- यदि tvibptr.stype == '2' च tvibptr.matnoun != 1:
- #< भागः>{
- यदि tvibptr.spos == 0:
- #< विकल्पः >
- यदि tvibptr.semlinga == 0:
- tvibptr.arthaword = 'सा '
- यदि tvibptr.semlinga == 1: tvibptr.arthaword = 'सः '
- यदि tvibptr.semlinga == 2: tvibptr.arthaword = 'त्त '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 1:
- #< विकल्पः >
- tvibptr.arthaword = 'तन्निष्ठकर्मतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 2:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 3:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठसम्प्रदानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 4:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठापादानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 5:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठाधिकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >#<\ भागः>
- यदि tvibptr.stype == '2' वा tvibptr.stype == '4' वा tvibptr.stype == '5': success = 0#<\ भागः>
- यदि tvibptr.stype == '1' च (tvibptr.specf == 'object'):
- #< भागः>{
- '''Check for case where there is only a single meaning for द्वितीया विभक्ति'''
- yes = findverb(voice, tvibptr.sword, tvibptr, afp, fl, VerbMean)#<\ भागः>
- '''If not in above case following steps lead to menu display for selection based on type of vibhakti'''
- यदि tvibptr.stype == '1':
- #< भागः>{
- यदि tvibptr.spos == 0:
- #< विकल्पः >
- यदि voice == 'kartari':
- tvibptr.arthaword = tvibptr.sword
- यदि voice == 'karmani':
- #< भागः>{
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठकर्तृतानिरूपक '#<\ भागः>
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 1:
- #< विकल्पः >
- यदि voice == 'kartari':
- #< भागः>{
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठकर्मतानिरूपक '#<\ भागः>
- यदि voice == 'karmani':
- #< भागः>{
- tvibptr.arthaword = tvibptr.sword#<\ भागः>
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 2:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 3:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठसम्प्रदानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 4:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठापादानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 6:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'सम्बन्धि '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 5:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठाधिकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >#<\ भागः>
- iter_tvibptr = iter(tvibptr) # move this outside the while block
- try:
- next(iter_tvibptr)
- except StopIterationException as e:
- break;#<\ भागः>
- प्रतिदा success#<\ भागः>
- C statement: choice = strcmpi(voice,"karmani")==0
- अजगर-वाक्य:
- choice = voice == "karmani"
- C statement: if(a==0 && a == b || strcmp(temp->Type,"Noun")==0) choice = rt->uy;
- अजगर-वाक्य:
- यदि a == 0 च a == b वा temp.Type == "Noun":
- choice = rt.uy
- C statement: if(a==0 && a == b || strcmp(temp->Type,"Noun")==0) choice = rt->uy;if(strcmp(temp->Type,"Noun")==0 && strcmp(temp->specf,"Subject")==0 && temp->subinsen==0){Assignlingavib(drecord);break;}if(temp->next != NULL)temp=temp->next;else break;
- अजगर-वाक्य:
- यदि a == 0 च a == b वा temp.Type == "Noun":
- choice = rt.uy
- यदि temp.Type == "Noun" च temp.specf == "Subject" च temp.subinsen == 0:
- #< भागः>{
- Assignlingavib(drecord)
- निर्गमः#<\ भागः>
- iter_temp = iter(temp) # move this outside the while block
- try:
- next(iter_temp)
- except StopIterationException as e:
- break;
- C statement: if(a==b){Assignlingavib(drecord);break};
- else temp=temp->next;
- अजगर-वाक्य:
- यदि a == b:#< भागः>{
- Assignlingavib
- (drecord)
- निर्गमः#<\ भागः>
- अन्यथा :
- temp = temp.next
- C statement: if(strcmp(word,list1[i])==0) {if(linga==0) strcpy(message,"समवेता"); if(linga==1) strcpy(message,"समवेतः");if(linga==2) strcpy(message,"समवेतं");strcpy(vword,tvibptr->bword); strcat(vword,message); strcpy(tvibptr->arthaword,vword);return 1; }
- अजगर-वाक्य:
- यदि word == list1[i]: #< भागः>{
- यदि linga == 0:
- message = "समवेता"
- यदि linga == 1: message = "समवेतः"
- यदि linga == 2: message = "समवेतं"
- vword = tvibptr.bword
- vword = message
- tvibptr.arthaword = vword
- प्रतिदा 1#<\ भागः>
- C statement: if(strcmpi(voice,"karmani") ==0) { strcpy(tvibptr->arthaword,tvibptr->bword); strcat(tvibptr->arthaword,"निष्ठकर्तृतानिरूपक ");if(strcmpi(voice,"karmani") ==0) strcpy(tvibptr->arthaword,tvibptr->bword);}
- अजगर-वाक्य:
- यदि voice == "karmani": #< भागः>{
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = "निष्ठकर्तृतानिरूपक "
- यदि voice == "karmani": tvibptr.arthaword = tvibptr.bword#<\ भागः>
- C statement: switch(spos) { case 0: choice = 3; bb=cc; break; case "1": i = 1; break; default: j = "ikh"}
- अजगर-वाक्य:
- यदि spos == 0:
- #< विकल्पः >
- choice = 3
- bb = cc
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिspos == "1":
- #< विकल्पः >
- i = 1
- निर्गमः#<\ विकल्पः >
- अन्यथा :
- #< विकल्पः >
- j = "ikh"#<\ विकल्पः >
- C statement: switch(spos) { case 0: case "1": i = 1; break; case 3: kk == mm; gg = 99; default: j = "ikh"}
- अजगर-वाक्य:
- यदि spos अंतरे [0, "1"]:
- #< विकल्पः >
- i = 1
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिspos == 3:
- #< विकल्पः >
- kk == mm
- gg = 99#<\ विकल्पः >
- अन्यथा :
- #< विकल्पः >
- j = "ikh"#<\ विकल्पः >
- C statement: switch(tvibptr->spos) {case 0:if(strcmpi(voice,"kartari") ==0) strcpy(tvibptr->arthaword,tvibptr->sword);if(strcmpi(voice,"karmani") ==0) strcpy(tvibptr->arthaword,tvibptr->sword);case "1": if(strcmpi(voice,"karmani") ==0)strcpy(tvibptr->arthaword,tvibptr->sword); break; case 3: j = "ikh"}
- अजगर-वाक्य:
- यदि tvibptr.spos == 0:
- #< विकल्पः >
- यदि voice == "kartari": tvibptr.arthaword = tvibptr.sword
- यदि voice == "karmani": tvibptr.arthaword = tvibptr.sword#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == "1":
- #< विकल्पः >
- यदि voice == "karmani": tvibptr.arthaword = tvibptr.sword
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 3:
- #< विकल्पः >
- j = "ikh"#<\ विकल्पः >
- C statement: switch(tvibptr->spos) {case 0:i = 1; break; case "1": choice = 3; break; case 3: j = "ikh"}
- अजगर-वाक्य:
- यदि tvibptr.spos == 0:
- #< विकल्पः >
- i = 1
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == "1":
- #< विकल्पः >
- choice = 3
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 3:
- #< विकल्पः >
- j = "ikh"#<\ विकल्पः >
- C statement: switch(tvibptr->spos) {case 0:if(strcmpi(voice,"kartari") ==0)strcpy(tvibptr->arthaword,tvibptr->sword);if(strcmpi(voice,"karmani") ==0){strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,"निष्ठकर्तृतानिरूपक ");}break;case 1:if(strcmpi(voice,"kartari") ==0){strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,"निष्ठकर्मतानिरूपक ");}if(strcmpi(voice,"karmani") ==0){strcpy(tvibptr->arthaword,tvibptr->sword);}break; case 2:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,"निष्ठकरणतानिरूपक ");break; case 3:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,"निष्ठसम्प्रदानतानिरूपक ");break; case 4:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,"निष्ठापादानतानिरूपक ");break; case 6:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,"सम्बन्धि ");break; case 5:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,"निष्ठाधिकरणतानिरूपक ");break;}
- अजगर-वाक्य:
- यदि tvibptr.spos == 0:
- #< विकल्पः >
- यदि voice == "kartari": tvibptr.arthaword = tvibptr.sword
- यदि voice == "karmani":
- #< भागः>{
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = "निष्ठकर्तृतानिरूपक "#<\ भागः>
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 1:
- #< विकल्पः >
- यदि voice == "kartari":
- #< भागः>{
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = "निष्ठकर्मतानिरूपक "#<\ भागः>
- यदि voice == "karmani":
- #< भागः>{
- tvibptr.arthaword = tvibptr.sword#<\ भागः>
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 2:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = "निष्ठकरणतानिरूपक "
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 3:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = "निष्ठसम्प्रदानतानिरूपक "
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 4:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = "निष्ठापादानतानिरूपक "
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 6:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = "सम्बन्धि "
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 5:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = "निष्ठाधिकरणतानिरूपक "
- निर्गमः#<\ विकल्पः >
- C statement: while(1){if(strcmp(temp->Type,"Noun")==0 && strcmp(temp->specf,"Subject")==0 && temp->subinsen==0){Assignlingavib(drecord);break;}if(temp->next != NULL)temp=temp->next;else break;}
- अजगर-वाक्य:
- यदा(1):
- #< भागः>{
- यदि temp.Type == "Noun" च temp.specf == "Subject" च temp.subinsen == 0: #< भागः>{
- Assignlingavib(drecord)
- निर्गमः#<\ भागः>
- iter_temp = iter(temp) # move this outside the while block
- try:
- next(iter_temp)
- except StopIterationException as e:
- break;#<\ भागः>
- C statement: if((tvibptr->stype =='1' && strcmp(tvibptr->specf,'dative')==0 ) || tvibptr->stype =='5' || tvibptr->stype=='2'|| tvibptr->stype=='4') {/* Check for case where there is only a single meaning for चतुर्ती विभक्ति */yes=findverb(voice,tvibptr->sword,tvibptr,afp,fl,VerbMean);}
- अजगर-वाक्य:
- यदि (tvibptr.stype == '1' च tvibptr.specf == 'dative') वा tvibptr.stype == '5' वा tvibptr.stype == '2' वा tvibptr.stype == '4': #< भागः>{
- '''Check for case where there is only a single meaning for चतुर्ती विभक्ति'''
- yes = findverb(voice, tvibptr.sword, tvibptr, afp, fl, VerbMean)#<\ भागः>
- C statement: while(1) { if((tvibptr->stype =='1' && strcmp(tvibptr->specf,'dative')==0 ) || tvibptr->stype =='5' || tvibptr->stype=='2'|| tvibptr->stype=='4') { /* Check for case where there is only a single meaning for चतुर्ती विभक्ति */ yes=findverb(voice,tvibptr->sword,tvibptr,afp,fl,VerbMean); if(tvibptr->stype=='2' && tvibptr->matnoun !=1 ) { switch(tvibptr->spos) { case 0: if(tvibptr->semlinga==0) strcat(tvibptr->arthaword,'सा '); if(tvibptr->semlinga==1) strcat(tvibptr->arthaword,'सः '); if(tvibptr->semlinga==2) strcat(tvibptr->arthaword,'त्त '); break; case 1: strcat(tvibptr->arthaword,'तन्निष्ठकर्मतानिरूपक '); break; case 2: strcat(tvibptr->arthaword,'निष्ठकरणतानिरूपक '); break; case 3: strcat(tvibptr->arthaword,'निष्ठसम्प्रदानतानिरूपक '); break; case 4: strcat(tvibptr->arthaword,'निष्ठापादानतानिरूपक '); break; case 5: strcat(tvibptr->arthaword,'निष्ठाधिकरणतानिरूपक '); break; } } if(tvibptr->stype == '2' || tvibptr->stype =='4' || tvibptr->stype=='5') success= 0; } if(tvibptr->stype =='1' && (strcmpi(tvibptr->specf,'object')==0)) { /* Check for case where there is only a single meaning for द्वितीया विभक्ति */ yes=findverb(voice,tvibptr->sword,tvibptr,afp,fl,VerbMean); }}
- अजगर-वाक्य:
- यदा(1):
- #< भागः>{
- यदि (tvibptr.stype == '1' च tvibptr.specf == 'dative') वा tvibptr.stype == '5' वा tvibptr.stype == '2' वा tvibptr.stype == '4': #< भागः>{
- '''Check for case where there is only a single meaning for चतुर्ती विभक्ति'''
- yes = findverb(voice, tvibptr.sword, tvibptr, afp, fl, VerbMean)
- यदि tvibptr.stype == '2' च tvibptr.matnoun != 1:
- #< भागः>{
- यदि tvibptr.spos == 0:
- #< विकल्पः >
- यदि tvibptr.semlinga == 0: tvibptr.arthaword = 'सा '
- यदि tvibptr.semlinga == 1: tvibptr.arthaword = 'सः '
- यदि tvibptr.semlinga == 2: tvibptr.arthaword = 'त्त '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 1:
- #< विकल्पः >
- tvibptr.arthaword = 'तन्निष्ठकर्मतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 2:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 3:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठसम्प्रदानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 4:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठापादानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 5:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठाधिकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >#<\ भागः>
- यदि tvibptr.stype == '2' वा tvibptr.stype == '4' वा tvibptr.stype == '5': success = 0#<\ भागः>
- यदि tvibptr.stype == '1' च (tvibptr.specf == 'object'): #< भागः>{
- '''Check for case where there is only a single meaning for द्वितीया विभक्ति'''
- yes = findverb(voice, tvibptr.sword, tvibptr, afp, fl, VerbMean)#<\ भागः>#<\ भागः>
- C statement: while(1){if((tvibptr->stype =='1' && strcmp(tvibptr->specf,'dative')==0 ) || tvibptr->stype =='5' || tvibptr->stype=='2'|| tvibptr->stype=='4'){/* Check for case where there is only a single meaning for चतुर्ती विभक्ति */yes=findverb(voice,tvibptr->sword,tvibptr,afp,fl,VerbMean);if(tvibptr->stype=='2' && tvibptr->matnoun !=1 ){switch(tvibptr->spos){case 0:if(tvibptr->semlinga==0)strcat(tvibptr->arthaword,'सा ');if(tvibptr->semlinga==1)strcat(tvibptr->arthaword,'सः ');if(tvibptr->semlinga==2)strcat(tvibptr->arthaword,'त्त ');break;case 1:strcat(tvibptr->arthaword,'तन्निष्ठकर्मतानिरूपक ');break;case 2:strcat(tvibptr->arthaword,'निष्ठकरणतानिरूपक ');break;case 3:strcat(tvibptr->arthaword,'निष्ठसम्प्रदानतानिरूपक ');break;case 4:strcat(tvibptr->arthaword,'निष्ठापादानतानिरूपक ');break;case 5:strcat(tvibptr->arthaword,'निष्ठाधिकरणतानिरूपक ');break;}}if(tvibptr->stype == '2' || tvibptr->stype =='4' || tvibptr->stype=='5')success= 0;}if(tvibptr->stype =='1' && (strcmpi(tvibptr->specf,'object')==0)){ /* Check for case where there is only a single meaning for द्वितीया विभक्ति */yes=findverb(voice,tvibptr->sword,tvibptr,afp,fl,VerbMean);}/* If not in above case following steps lead to menu display for selection based on type of vibhakti */ if(tvibptr->stype =='1') { switch(tvibptr->spos) {case 0:if(strcmpi(voice,'kartari') ==0)strcpy(tvibptr->arthaword,tvibptr->sword);if(strcmpi(voice,'karmani') ==0){strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठकर्तृतानिरूपक ');}break;case 1:if(strcmpi(voice,'kartari') ==0){strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठकर्मतानिरूपक ');}if(strcmpi(voice,'karmani') ==0){strcpy(tvibptr->arthaword,tvibptr->sword);}break; case 2:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठकरणतानिरूपक ');break; case 3:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठसम्प्रदानतानिरूपक ');break; case 4:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठापादानतानिरूपक ');break; case 6:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'सम्बन्धि ');break; case 5:strcpy(tvibptr->arthaword,tvibptr->bword);strcat(tvibptr->arthaword,'निष्ठाधिकरणतानिरूपक ');break;} } if (tvibptr->next != NULL)tvibptr=tvibptr->next; else break;}
- अजगर-वाक्य:
- यदा(1):
- #< भागः>{
- यदि (tvibptr.stype == '1' च tvibptr.specf == 'dative') वा tvibptr.stype == '5' वा tvibptr.stype == '2' वा tvibptr.stype == '4': #< भागः>{
- '''Check for case where there is only a single meaning for चतुर्ती विभक्ति'''
- yes = findverb(voice, tvibptr.sword, tvibptr, afp, fl, VerbMean)
- यदि tvibptr.stype == '2' च tvibptr.matnoun != 1:
- #< भागः>{
- यदि tvibptr.spos == 0:
- #< विकल्पः >
- यदि tvibptr.semlinga == 0: tvibptr.arthaword = 'सा '
- यदि tvibptr.semlinga == 1: tvibptr.arthaword = 'सः '
- यदि tvibptr.semlinga == 2: tvibptr.arthaword = 'त्त '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 1:
- #< विकल्पः >
- tvibptr.arthaword = 'तन्निष्ठकर्मतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 2:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 3:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठसम्प्रदानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 4:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठापादानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 5:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठाधिकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >#<\ भागः>
- यदि tvibptr.stype == '2' वा tvibptr.stype == '4' वा tvibptr.stype == '5': success = 0#<\ भागः>
- यदि tvibptr.stype == '1' च (tvibptr.specf == 'object'):
- #< भागः>{
- '''Check for case where there is only a single meaning for द्वितीया विभक्ति'''
- yes = findverb(voice, tvibptr.sword, tvibptr, afp, fl, VerbMean)#<\ भागः>
- '''If not in above case following steps lead to menu display for selection based on type of vibhakti'''
- यदि tvibptr.stype == '1':
- #< भागः>{
- यदि tvibptr.spos == 0:
- #< विकल्पः >
- यदि voice == 'kartari':
- tvibptr.arthaword = tvibptr.sword
- यदि voice == 'karmani':
- #< भागः>{
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठकर्तृतानिरूपक '#<\ भागः>
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 1:
- #< विकल्पः >
- यदि voice == 'kartari':
- #< भागः>{
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठकर्मतानिरूपक '#<\ भागः>
- यदि voice == 'karmani':
- #< भागः>{
- tvibptr.arthaword = tvibptr.sword#<\ भागः>
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 2:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 3:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठसम्प्रदानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 4:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठापादानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 6:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'सम्बन्धि '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 5:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठाधिकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >#<\ भागः>
- iter_tvibptr = iter(tvibptr) # move this outside the while block
- try:
- next(iter_tvibptr)
- except StopIterationException as e:
- break;#<\ भागः>
- C statement: #define KARTHARI 0 #define KARMANI 1 #define FULLSTOP '।' #define eof 255
- अजगर-वाक्य:
- KARTHARI = 0
- KARMANI = 1
- FULLSTOP = '।'
- eof = 255
- C statement: #include <stdio.h>
- अजगर-वाक्य:
- आनी stdio.kn # परिग्रह् stdio.h
- C statement: #include "sengen1.h"
- #include "data.h"
- अजगर-वाक्य:
- आनी sengen1.kn # परिग्रह् sengen1.h
- आनी data.kn # परिग्रह् data.h
- C statement: typedef struct { int vibhakti[20]; int vacana[20]; int linga[20]; int purusha[20]; unsigned char *subanta[20]; unsigned char *pratipadika[20]; unsigned char *erb[20]; /* End Removed Base */; int wordNum[20]; int numofNouns; } SUBANTA_DATA; typedef struct { int dhatuVidha[10]; int prayoga[10]; int lakara[10]; int purusha[10]; int vacana[10]; int gana[10]; int padi[10]; int karma[10]; int it[10]; unsigned char *tiganta[10]; unsigned char *dhatu[10]; unsigned char *nijdhatu[10]; unsigned char *sandhatu[10]; unsigned char *artha[10]; unsigned char *err[10]; /* End Removed Root */; int wordNum[10]; int numofVerbs; } TIGANTA_DATA; typedef struct { int vibhakti[20]; int vacana[20]; int linga[20]; int prayoga[20]; int krdType[20]; int dhatuVidha[20]; int purusha[20]; int gana[20]; int padi[20]; int karma[20]; int it[20]; unsigned char *krdanta[20]; unsigned char *pratipadika[20]; unsigned char *erb[20]; /* end removed base of krdanta */; unsigned char *dhatu[20]; unsigned char *nijdhatu[20]; unsigned char *sandhatu[20]; unsigned char *artha[20]; int wordNum[20]; int numofKrdantas; } KRDANTA_DATA; typedef struct { unsigned char *avyaya[30]; int wordNum[30]; int numofAvyayas; } AVYAYA_DATA; typedef struct { int dhatuVidha[20]; int gana[20]; int padi[20]; int karma[20]; int it[20]; int krdavType[20]; unsigned char *krdavyaya[20]; unsigned char *dhatu[20]; unsigned char *nijdhatu[20]; unsigned char *sandhatu[20]; unsigned char *artha[20]; int wordNum[20]; int numofKrdavyayas; } KRDAV_DATA; typedef struct { unsigned char *word[20]; int vibhakti[20]; int vacana[20]; int purusha[20]; int linga[20]; int wordPos[20]; int numofWords; } VIBHAKTI; typedef struct { unsigned char *verb; unsigned char *dhatu; int purusha; int vacana; int prayoga; int karma; int wordPos; } VERB; typedef struct { unsigned char *krdanta; int vibhakti; int vacana; int linga; int prayoga; int karma; int krdType; } PARTICIPLE; typedef struct { unsigned char *sentence; unsigned char *idens[100]; int numofIdens; } RECORD; typedef struct { unsigned char *iden[30]; int numofIdens; } WORD; typedef struct { unsigned char *word[15]; int numofWords; } TYPE;
- अजगर-वाक्य:
- वर्गः SUBANTA_DATA:
- निरूप् __ निर्मा__( स्वय्ं):
- स्वय्ं.vibhakti = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.vacana = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.linga = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.purusha = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.subanta = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.pratipadika = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.erb = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.wordNum = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.numofNouns = None # प्रकारः: पूर्णांकः
- निरूप् __ आप्__( स्वय्ं):
- प्रतिदा {'vibhakti': स्वय्ं.vibhakti[ स्वय्ं.numofNouns], 'vacana': स्वय्ं.vacana[ स्वय्ं.numofNouns], 'linga': स्वय्ं.linga[ स्वय्ं.numofNouns], 'purusha': स्वय्ं.purusha[ स्वय्ं.numofNouns], 'subanta': स्वय्ं.subanta[ स्वय्ं.numofNouns], 'pratipadika': स्वय्ं.pratipadika[ स्वय्ं.numofNouns], 'erb': स्वय्ं.erb[ स्वय्ं.numofNouns], 'wordNum': स्वय्ं.wordNum[ स्वय्ं.numofNouns], 'numofNouns': स्वय्ं.numofNouns}
- निरूप् __ अक्षरंमाला__( स्वय्ं):
- प्रतिदा json.dumps( स्वय्ं. आप्())
- वर्गः TIGANTA_DATA:
- निरूप् __ निर्मा__( स्वय्ं):
- स्वय्ं.dhatuVidha = [None] * 10 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.prayoga = [None] * 10 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.lakara = [None] * 10 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.purusha = [None] * 10 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.vacana = [None] * 10 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.gana = [None] * 10 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.padi = [None] * 10 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.karma = [None] * 10 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.it = [None] * 10 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.tiganta = [None] * 10 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.dhatu = [None] * 10 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.nijdhatu = [None] * 10 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.sandhatu = [None] * 10 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.artha = [None] * 10 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.err = [None] * 10 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.wordNum = [None] * 10 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.numofVerbs = None # प्रकारः: पूर्णांकः
- निरूप् __ आप्__( स्वय्ं):
- प्रतिदा {'dhatuVidha': स्वय्ं.dhatuVidha[ स्वय्ं.numofVerbs], 'prayoga': स्वय्ं.prayoga[ स्वय्ं.numofVerbs], 'lakara': स्वय्ं.lakara[ स्वय्ं.numofVerbs], 'purusha': स्वय्ं.purusha[ स्वय्ं.numofVerbs], 'vacana': स्वय्ं.vacana[ स्वय्ं.numofVerbs], 'gana': स्वय्ं.gana[ स्वय्ं.numofVerbs], 'padi': स्वय्ं.padi[ स्वय्ं.numofVerbs], 'karma': स्वय्ं.karma[ स्वय्ं.numofVerbs], 'it': स्वय्ं.it[ स्वय्ं.numofVerbs], 'tiganta': स्वय्ं.tiganta[ स्वय्ं.numofVerbs], 'dhatu': स्वय्ं.dhatu[ स्वय्ं.numofVerbs], 'nijdhatu': स्वय्ं.nijdhatu[ स्वय्ं.numofVerbs], 'sandhatu': स्वय्ं.sandhatu[ स्वय्ं.numofVerbs], 'artha': स्वय्ं.artha[ स्वय्ं.numofVerbs], 'err': स्वय्ं.err[ स्वय्ं.numofVerbs], 'wordNum': स्वय्ं.wordNum[ स्वय्ं.numofVerbs], 'numofVerbs': स्वय्ं.numofVerbs}
- निरूप् __ अक्षरंमाला__( स्वय्ं):
- प्रतिदा json.dumps( स्वय्ं. आप्())
- वर्गः KRDANTA_DATA:
- निरूप् __ निर्मा__( स्वय्ं):
- स्वय्ं.vibhakti = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.vacana = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.linga = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.prayoga = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.krdType = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.dhatuVidha = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.purusha = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.gana = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.padi = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.karma = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.it = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.krdanta = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.pratipadika = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.erb = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.dhatu = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.nijdhatu = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.sandhatu = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.artha = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.wordNum = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.numofKrdantas = None # प्रकारः: पूर्णांकः
- निरूप् __ आप्__( स्वय्ं):
- प्रतिदा {'vibhakti': स्वय्ं.vibhakti[ स्वय्ं.numofKrdantas], 'vacana': स्वय्ं.vacana[ स्वय्ं.numofKrdantas], 'linga': स्वय्ं.linga[ स्वय्ं.numofKrdantas], 'prayoga': स्वय्ं.prayoga[ स्वय्ं.numofKrdantas], 'krdType': स्वय्ं.krdType[ स्वय्ं.numofKrdantas], 'dhatuVidha': स्वय्ं.dhatuVidha[ स्वय्ं.numofKrdantas], 'purusha': स्वय्ं.purusha[ स्वय्ं.numofKrdantas], 'gana': स्वय्ं.gana[ स्वय्ं.numofKrdantas], 'padi': स्वय्ं.padi[ स्वय्ं.numofKrdantas], 'karma': स्वय्ं.karma[ स्वय्ं.numofKrdantas], 'it': स्वय्ं.it[ स्वय्ं.numofKrdantas], 'krdanta': स्वय्ं.krdanta[ स्वय्ं.numofKrdantas], 'pratipadika': स्वय्ं.pratipadika[ स्वय्ं.numofKrdantas], 'erb': स्वय्ं.erb[ स्वय्ं.numofKrdantas], 'dhatu': स्वय्ं.dhatu[ स्वय्ं.numofKrdantas], 'nijdhatu': स्वय्ं.nijdhatu[ स्वय्ं.numofKrdantas], 'sandhatu': स्वय्ं.sandhatu[ स्वय्ं.numofKrdantas], 'artha': स्वय्ं.artha[ स्वय्ं.numofKrdantas], 'wordNum': स्वय्ं.wordNum[ स्वय्ं.numofKrdantas], 'numofKrdantas': स्वय्ं.numofKrdantas}
- निरूप् __ अक्षरंमाला__( स्वय्ं):
- प्रतिदा json.dumps( स्वय्ं. आप्())
- वर्गः AVYAYA_DATA:
- निरूप् __ निर्मा__( स्वय्ं):
- स्वय्ं.avyaya = [None] * 30 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.wordNum = [None] * 30 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.numofAvyayas = None # प्रकारः: पूर्णांकः
- निरूप् __ आप्__( स्वय्ं):
- प्रतिदा {'avyaya': स्वय्ं.avyaya[ स्वय्ं.numofAvyayas], 'wordNum': स्वय्ं.wordNum[ स्वय्ं.numofAvyayas], 'numofAvyayas': स्वय्ं.numofAvyayas}
- निरूप् __ अक्षरंमाला__( स्वय्ं):
- प्रतिदा json.dumps( स्वय्ं. आप्())
- वर्गः KRDAV_DATA:
- निरूप् __ निर्मा__( स्वय्ं):
- स्वय्ं.dhatuVidha = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.gana = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.padi = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.karma = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.it = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.krdavType = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.krdavyaya = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.dhatu = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.nijdhatu = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.sandhatu = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.artha = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.wordNum = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.numofKrdavyayas = None # प्रकारः: पूर्णांकः
- निरूप् __ आप्__( स्वय्ं):
- प्रतिदा {'dhatuVidha': स्वय्ं.dhatuVidha[ स्वय्ं.numofKrdavyayas], 'gana': स्वय्ं.gana[ स्वय्ं.numofKrdavyayas], 'padi': स्वय्ं.padi[ स्वय्ं.numofKrdavyayas], 'karma': स्वय्ं.karma[ स्वय्ं.numofKrdavyayas], 'it': स्वय्ं.it[ स्वय्ं.numofKrdavyayas], 'krdavType': स्वय्ं.krdavType[ स्वय्ं.numofKrdavyayas], 'krdavyaya': स्वय्ं.krdavyaya[ स्वय्ं.numofKrdavyayas], 'dhatu': स्वय्ं.dhatu[ स्वय्ं.numofKrdavyayas], 'nijdhatu': स्वय्ं.nijdhatu[ स्वय्ं.numofKrdavyayas], 'sandhatu': स्वय्ं.sandhatu[ स्वय्ं.numofKrdavyayas], 'artha': स्वय्ं.artha[ स्वय्ं.numofKrdavyayas], 'wordNum': स्वय्ं.wordNum[ स्वय्ं.numofKrdavyayas], 'numofKrdavyayas': स्वय्ं.numofKrdavyayas}
- निरूप् __ अक्षरंमाला__( स्वय्ं):
- प्रतिदा json.dumps( स्वय्ं. आप्())
- वर्गः VIBHAKTI:
- निरूप् __ निर्मा__( स्वय्ं):
- स्वय्ं.word = [None] * 20 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.vibhakti = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.vacana = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.purusha = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.linga = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.wordPos = [None] * 20 # प्रकारः: अनुक्रमणिका[पूर्णांकः]
- स्वय्ं.numofWords = None # प्रकारः: पूर्णांकः
- निरूप् __ आप्__( स्वय्ं):
- प्रतिदा {'word': स्वय्ं.word[ स्वय्ं.numofWords], 'vibhakti': स्वय्ं.vibhakti[ स्वय्ं.numofWords], 'vacana': स्वय्ं.vacana[ स्वय्ं.numofWords], 'purusha': स्वय्ं.purusha[ स्वय्ं.numofWords], 'linga': स्वय्ं.linga[ स्वय्ं.numofWords], 'wordPos': स्वय्ं.wordPos[ स्वय्ं.numofWords], 'numofWords': स्वय्ं.numofWords}
- निरूप् __ अक्षरंमाला__( स्वय्ं):
- प्रतिदा json.dumps( स्वय्ं. आप्())
- वर्गः VERB:
- निरूप् __ निर्मा__( स्वय्ं):
- स्वय्ं.verb = None # प्रकारः: अक्षरंमाला
- स्वय्ं.dhatu = None # प्रकारः: अक्षरंमाला
- स्वय्ं.purusha = None # प्रकारः: पूर्णांकः
- स्वय्ं.vacana = None # प्रकारः: पूर्णांकः
- स्वय्ं.prayoga = None # प्रकारः: पूर्णांकः
- स्वय्ं.karma = None # प्रकारः: पूर्णांकः
- स्वय्ं.wordPos = None # प्रकारः: पूर्णांकः
- निरूप् __ आप्__( स्वय्ं):
- प्रतिदा {'verb': स्वय्ं.verb[ स्वय्ं.wordPos], 'dhatu': स्वय्ं.dhatu[ स्वय्ं.wordPos], 'purusha': स्वय्ं.purusha[ स्वय्ं.wordPos], 'vacana': स्वय्ं.vacana[ स्वय्ं.wordPos], 'prayoga': स्वय्ं.prayoga[ स्वय्ं.wordPos], 'karma': स्वय्ं.karma[ स्वय्ं.wordPos], 'wordPos': स्वय्ं.wordPos}
- निरूप् __ अक्षरंमाला__( स्वय्ं):
- प्रतिदा json.dumps( स्वय्ं. आप्())
- वर्गः PARTICIPLE:
- निरूप् __ निर्मा__( स्वय्ं):
- स्वय्ं.krdanta = None # प्रकारः: अक्षरंमाला
- स्वय्ं.vibhakti = None # प्रकारः: पूर्णांकः
- स्वय्ं.vacana = None # प्रकारः: पूर्णांकः
- स्वय्ं.linga = None # प्रकारः: पूर्णांकः
- स्वय्ं.prayoga = None # प्रकारः: पूर्णांकः
- स्वय्ं.karma = None # प्रकारः: पूर्णांकः
- स्वय्ं.krdType = None # प्रकारः: पूर्णांकः
- निरूप् __ आप्__( स्वय्ं):
- प्रतिदा {'krdanta': स्वय्ं.krdanta[ स्वय्ं.krdType], 'vibhakti': स्वय्ं.vibhakti[ स्वय्ं.krdType], 'vacana': स्वय्ं.vacana[ स्वय्ं.krdType], 'linga': स्वय्ं.linga[ स्वय्ं.krdType], 'prayoga': स्वय्ं.prayoga[ स्वय्ं.krdType], 'karma': स्वय्ं.karma[ स्वय्ं.krdType], 'krdType': स्वय्ं.krdType}
- निरूप् __ अक्षरंमाला__( स्वय्ं):
- प्रतिदा json.dumps( स्वय्ं. आप्())
- वर्गः RECORD:
- निरूप् __ निर्मा__( स्वय्ं):
- स्वय्ं.sentence = None # प्रकारः: अक्षरंमाला
- स्वय्ं.idens = [None] * 100 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.numofIdens = None # प्रकारः: पूर्णांकः
- निरूप् __ आप्__( स्वय्ं):
- प्रतिदा {'sentence': स्वय्ं.sentence[ स्वय्ं.numofIdens], 'idens': स्वय्ं.idens[ स्वय्ं.numofIdens], 'numofIdens': स्वय्ं.numofIdens}
- निरूप् __ अक्षरंमाला__( स्वय्ं):
- प्रतिदा json.dumps( स्वय्ं. आप्())
- वर्गः WORD:
- निरूप् __ निर्मा__( स्वय्ं):
- स्वय्ं.iden = [None] * 30 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.numofIdens = None # प्रकारः: पूर्णांकः
- निरूप् __ आप्__( स्वय्ं):
- प्रतिदा {'iden': स्वय्ं.iden[ स्वय्ं.numofIdens], 'numofIdens': स्वय्ं.numofIdens}
- निरूप् __ अक्षरंमाला__( स्वय्ं):
- प्रतिदा json.dumps( स्वय्ं. आप्())
- वर्गः TYPE:
- निरूप् __ निर्मा__( स्वय्ं):
- स्वय्ं.word = [None] * 15 # प्रकारः: अनुक्रमणिका[ अक्षरंमाला]
- स्वय्ं.numofWords = None # प्रकारः: पूर्णांकः
- निरूप् __ आप्__( स्वय्ं):
- प्रतिदा {'word': स्वय्ं.word[ स्वय्ं.numofWords], 'numofWords': स्वय्ं.numofWords}
- निरूप् __ अक्षरंमाला__( स्वय्ं):
- प्रतिदा json.dumps( स्वय्ं. आप्())
- C statement: int choice(char type,unsigned char *word,unsigned char voice[],int pos,VIBAK *tvibptr,FILE *afp,long fl,unsigned char *VerbMean) { int yes=0,success=1; while(1) { if((tvibptr->stype =='1' && strcmp(tvibptr->specf,'dative')==0 ) || tvibptr->stype =='5' || tvibptr->stype=='2'|| tvibptr->stype=='4') { /* Check for case where there is only a single meaning for चतुर्ती विभक्ति */ yes=findverb(voice,tvibptr->sword,tvibptr,afp,fl,VerbMean); if(tvibptr->stype=='2' && tvibptr->matnoun !=1 ) { switch(tvibptr->spos) { case 0: if(tvibptr->semlinga==0) strcat(tvibptr->arthaword,'सा '); if(tvibptr->semlinga==1) strcat(tvibptr->arthaword,'सः '); if(tvibptr->semlinga==2) strcat(tvibptr->arthaword,'त्त '); break; case 1: strcat(tvibptr->arthaword,'तन्निष्ठकर्मतानिरूपक '); break; case 2: strcat(tvibptr->arthaword,'निष्ठकरणतानिरूपक '); break; case 3: strcat(tvibptr->arthaword,'निष्ठसम्प्रदानतानिरूपक '); break; case 4: strcat(tvibptr->arthaword,'निष्ठापादानतानिरूपक '); break; case 5: strcat(tvibptr->arthaword,'निष्ठाधिकरणतानिरूपक '); break; } } if(tvibptr->stype == '2' || tvibptr->stype =='4' || tvibptr->stype=='5') success= 0; } if(tvibptr->stype =='1' && (strcmpi(tvibptr->specf,'object')==0)) { /* Check for case where there is only a single meaning for द्वितीया विभक्ति */ yes=findverb(voice,tvibptr->sword,tvibptr,afp,fl,VerbMean); } /* If not in above case following steps lead to menu display for selection based on type of vibhakti */ if(tvibptr->stype =='1') { switch(tvibptr->spos) { case 0: if(strcmpi(voice,'kartari') ==0) strcpy(tvibptr->arthaword,tvibptr->sword); if(strcmpi(voice,'karmani') ==0) { strcpy(tvibptr->arthaword,tvibptr->bword); strcat(tvibptr->arthaword,'निष्ठकर्तृतानिरूपक '); } break; case 1: if(strcmpi(voice,'kartari') ==0) { strcpy(tvibptr->arthaword,tvibptr->bword); strcat(tvibptr->arthaword,'निष्ठकर्मतानिरूपक '); } if(strcmpi(voice,'karmani') ==0) { strcpy(tvibptr->arthaword,tvibptr->sword); } break; case 2: strcpy(tvibptr->arthaword,tvibptr->bword); strcat(tvibptr->arthaword,'निष्ठकरणतानिरूपक '); break; case 3: strcpy(tvibptr->arthaword,tvibptr->bword); strcat(tvibptr->arthaword,'निष्ठसम्प्रदानतानिरूपक '); break; case 4: strcpy(tvibptr->arthaword,tvibptr->bword); strcat(tvibptr->arthaword,'निष्ठापादानतानिरूपक '); break; case 6: strcpy(tvibptr->arthaword,tvibptr->bword); strcat(tvibptr->arthaword,'सम्बन्धि '); break; case 5: strcpy(tvibptr->arthaword,tvibptr->bword); strcat(tvibptr->arthaword,'निष्ठाधिकरणतानिरूपक '); break; } } if (tvibptr->next != NULL) tvibptr=tvibptr->next; else break; } return success; }
- अजगर-वाक्य:
- निरूप् choice(type अक्षरंमाला, word अक्षरंमाला, voice अनुक्रमणिका[ अक्षरंमाला], pos पूर्णांकः, tvibptr VIBAK, afp लेख्यं, fl दशक, VerbMean अक्षरंमाला) -> पूर्णांकः: #< भागः>{
- yes = 0 # प्रकारः पूर्णांकः
- success = 1 # प्रकारः पूर्णांकः
- यदा(1):
- #< भागः>{
- यदि (tvibptr.stype == '1' च tvibptr.specf == 'dative') वा tvibptr.stype == '5' वा tvibptr.stype == '2' वा tvibptr.stype == '4':
- #< भागः>{
- '''Check for case where there is only a single meaning for चतुर्ती विभक्ति'''
- yes = findverb(voice, tvibptr.sword, tvibptr, afp, fl, VerbMean)
- यदि tvibptr.stype == '2' च tvibptr.matnoun != 1:
- #< भागः>{
- यदि tvibptr.spos == 0:
- #< विकल्पः >
- यदि tvibptr.semlinga == 0: tvibptr.arthaword = 'सा '
- यदि tvibptr.semlinga == 1: tvibptr.arthaword = 'सः '
- यदि tvibptr.semlinga == 2: tvibptr.arthaword = 'त्त '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 1:
- #< विकल्पः >
- tvibptr.arthaword = 'तन्निष्ठकर्मतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 2:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 3:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठसम्प्रदानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 4:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठापादानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 5:
- #< विकल्पः >
- tvibptr.arthaword = 'निष्ठाधिकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >#<\ भागः>
- यदि tvibptr.stype == '2' वा tvibptr.stype == '4' वा tvibptr.stype == '5': success = 0#<\ भागः>
- यदि tvibptr.stype == '1' च (tvibptr.specf == 'object'):
- #< भागः>{
- '''Check for case where there is only a single meaning for द्वितीया विभक्ति'''
- yes = findverb(voice, tvibptr.sword, tvibptr, afp, fl, VerbMean)#<\ भागः>
- '''If not in above case following steps lead to menu display for selection based on type of vibhakti'''
- यदि tvibptr.stype == '1':
- #< भागः>{
- यदि tvibptr.spos == 0:
- #< विकल्पः >
- यदि voice == 'kartari':
- tvibptr.arthaword = tvibptr.sword
- यदि voice == 'karmani':
- #< भागः>{
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठकर्तृतानिरूपक '#<\ भागः>
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 1:
- #< विकल्पः >
- यदि voice == 'kartari':
- #< भागः>{
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठकर्मतानिरूपक '#<\ भागः>
- यदि voice == 'karmani':
- #< भागः>{
- tvibptr.arthaword = tvibptr.sword#<\ भागः>
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 2:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 3:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठसम्प्रदानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 4:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठापादानतानिरूपक '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 6:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'सम्बन्धि '
- निर्गमः#<\ विकल्पः >
- अन्यथा_यदिtvibptr.spos == 5:
- #< विकल्पः >
- tvibptr.arthaword = tvibptr.bword
- tvibptr.arthaword = 'निष्ठाधिकरणतानिरूपक '
- निर्गमः#<\ विकल्पः >#<\ भागः>
- iter_tvibptr = iter(tvibptr) # move this outside the while block
- try:
- next(iter_tvibptr)
- except StopIterationException as e:
- break;#<\ भागः>
- प्रतिदा success#<\ भागः>
- C statement: i++;j--;k+=2;h-=3;
- अजगर-वाक्य:
- i += 1
- j -= 1
- k += 2
- h -= 3
- C statement: for(i=0;i<vno;i-=3) free(words[i]);
- अजगर-वाक्य:
- प्रतिi अंतरे राजिः (0, vno, -3):
- free
- (words[i])
- C statement: int findverb(unsigned char voice[],unsigned char *Word,VIBAK *tvibptr,FILE *afp,long fl,unsigned char *VerbMean){int found=0,i,j,pos;int vnum=0,vno=0,linga=4;unsigned char line1[300],*words[17],message[60],word[20],vword[80],type,lword[30],ltype="Z",temp[4];unsigned char *list[]={"पूर्वाण्ह", "अपराण्ह", "दिन", "रात्रि", "अहोरात्र", "सप्ताह", "पक्ष", "मास", "संवत्सर"};unsigned char *list1[]={"ज्ञान","सुख","दुःख","इच्छा","द्वेष","प्रयत्न","धर्म","अधर्म","संस्कार","भावना","विवेक","बोध","बुद्धि","धी","प्रज्ञा",};fseek(afp,fl,0);}if(tvibptr->stype =="2") type="0"; while(found==0 ||(!feof(afp))){fgets(line1,299,afp);if(line1[0]==" - "){found=1;break;}vno=0;vno=split(line1,words);if(strcmp(words[0],"वाक्यम्")==0) {for(i=0;i<vno;i++){free(words[i]);continue;}}vno=0; vno=split(line1,words); if(strcmp(words[0],"वाक्यम्")==0) /* Check for input sentence */ { for(i=0;i<vno;i++) free(words[i]); continue; } vno=split(line1,words); type=words[3][0]; strcpy(word,words[4]); if(type=="1") { strncpy(temp,words[6]+2,1); temp[1]=" "; linga=atoi(temp); pos=atoi(words[7]); } if(type=="5" || type=="4") { if(type=="5") strcpy(lword,VerbMean); else { strcpy(lword,words[9]); } strncpy(temp,words[11]+1,1); temp[1]=" "; ltype=temp[0]; } if(type=="2") { strcpy(lword,words[13]); } if(type=="1"&& (pos >= 1 && pos <=3)) { for(i=0;i<15;i++) { if(strcmp(word,list1[i])==0) { if(linga==0) strcpy(message,"समवेता"); if(linga==1) strcpy(message,"समवेतः");if(linga==2) strcpy(message,"समवेतं"); strcpy(vword,tvibptr->bword); strcat(vword,message); strcpy(tvibptr->arthaword,vword); return 1; } } } if(type=="5") { found=dispmea(voice,vnum,list,tvibptr,ltype,lword); for(i=0;i<vno;i++) free(words[i]); return found; } if(type=="2" && tvibptr->stype=="2" && strcmp(Word,words[1])==0) { found=dispmea(voice,vnum,list,tvibptr,ltype,lword); for(i=0;i<vno;i++) free(words[i]); return found; } else if(type=="4" && tvibptr->stype=="4" && strcmp(Word,words[1])==0) { found=dispmea(voice,vnum,list,tvibptr,ltype,lword); for(i=0;i<vno;i++) free(words[i]); return found; } for(i=0;i<vno;i++) free(words[i]);};
- अजगर-वाक्य:
- निरूप् findverb(voice अनुक्रमणिका[ अक्षरंमाला], Word अक्षरंमाला, tvibptr VIBAK, afp लेख्यं, fl दशक, VerbMean अक्षरंमाला) -> पूर्णांकः: #< भागः>{
- found = 0 # प्रकारः पूर्णांकः
- i, j, pos = None # प्रकारः पूर्णांकः
- vnum = 0 # प्रकारः पूर्णांकः
- vno = 0 # प्रकारः पूर्णांकः
- linga = 4 # प्रकारः पूर्णांकः
- line1 = [None] * 300 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- words = [None] * 17 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- message = [None] * 60 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- word = [None] * 20 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- vword = [None] * 80 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- type = None # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- lword = [None] * 30 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- ltype = "Z" # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- temp = [None] * 4 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- list = ["पूर्वाण्ह", "अपराण्ह", "दिन", "रात्रि", "अहोरात्र", "सप्ताह", "पक्ष", "मास", "संवत्सर"] # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- list1 = ["ज्ञान", "सुख", "दुःख", "इच्छा", "द्वेष", "प्रयत्न", "धर्म", "अधर्म", "संस्कार", "भावना", "विवेक", "बोध", "बुद्धि", "धी", "प्रज्ञा"] # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- fseek(afp, fl, 0)#<\ भागः>
- यदि tvibptr.stype == "2": type = "0"
- यदा(found == 0 वा ( !feof(afp))):
- #< भागः>{
- fgets(line1, 299, afp)
- यदि line1[0] == " - ":
- #< भागः>{
- found = 1
- निर्गमः#<\ भागः>
- vno = 0
- vno = split(line1, words)
- यदि words[0] == "वाक्यम्":
- #< भागः>{
- प्रतिi अंतरे राजिः (0, vno):
- #< भागः>{
- free
- (words[i])
- प्रवृत् #<\ भागः>#<\ भागः>
- vno = 0
- vno = split(line1, words)
- यदि words[0] == "वाक्यम्":
- '''Check for input sentence'''
- #< भागः>{
- प्रतिi अंतरे राजिः (0, vno):
- free(words[i])
- प्रवृत् #<\ भागः>
- vno = split(line1, words)
- type = words[3][0]
- word = words[4]
- यदि type == "1":
- #< भागः>{
- temp = words[6]
- linga = atoi(temp)
- pos = atoi(words[7])#<\ भागः>
- यदि type == "5" वा type == "4":
- #< भागः>{
- यदि type == "5":lword = VerbMean
- अन्यथा :
- #< भागः>{
- lword = words[9]#<\ भागः>
- temp = words[11]
- ltype = temp[0]#<\ भागः>
- यदि type == "2":
- #< भागः>{
- lword = words[13]#<\ भागः>
- यदि type == "1" च (pos >= 1 च pos <= 3):
- #< भागः>{
- प्रतिi अंतरे राजिः (0, 15):
- #< भागः>{
- यदि word == list1[i]:
- #< भागः>{
- यदि linga == 0:
- message = "समवेता"
- यदि linga == 1: message = "समवेतः"
- यदि linga == 2: message = "समवेतं"
- vword = tvibptr.bword
- vword = message
- tvibptr.arthaword = vword
- प्रतिदा 1#<\ भागः>#<\ भागः>#<\ भागः>
- यदि type == "5":
- #< भागः>{
- found = dispmea(voice, vnum, list, tvibptr, ltype, lword)
- प्रतिi अंतरे राजिः (0, vno):
- free(words[i])
- प्रतिदा found#<\ भागः>
- यदि type == "2" च tvibptr.stype == "2" च Word == words[1]:#< भागः>{
- found = dispmea(voice, vnum, list, tvibptr, ltype, lword)
- प्रतिi अंतरे राजिः (0, vno):
- free(words[i])
- प्रतिदा found#<\ भागः>
- अन्यथा : यदि type == "4" च tvibptr.stype == "4" च Word == words[1]:
- #< भागः>{
- found = dispmea(voice, vnum, list, tvibptr, ltype, lword)
- प्रतिi अंतरे राजिः (0, vno):
- free(words[i])
- प्रतिदा found#<\ भागः>
- प्रतिi अंतरे राजिः (0, vno):
- free(words[i])#<\ भागः>
- C statement: a = b; message = "समवेतः"; if(c=fgetc(cfp)!=eof) x = y
- अजगर-वाक्य:
- a = b
- message = "समवेतः"
- यदि fgetc(cfp) != eof: x = y
- C statement: substr=strstr(word[karptr->sub_no],krdrecord->code[m])
- अजगर-वाक्य:
- substr = strstr(word[karptr.sub_no], krdrecord.code[m])
- C statement: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <conio.h> #include <alloc.h> #include "data.h" #include "declr.h" #define eof 255 #define rt 86 int CheckComptability(DETAIL *srecord,DETAIL *krecord,DETAIL *vrecord,DETAIL *krdfirst,DETAIL *krdavy,unsigned char *sent,SHASTI *fshtptr,FILE *rfp,FILE *afp,FILE *sfp,int y) { int a=0,i=0,j=0,m=0,n=0,no_vsub=0,no_ksub=0,num_sub,Naflag=0; int flag=1,krdflag=0,krdavyf=0,verflag=0,karflag=0,shaflag=0; int krdmismatch=0,mismatch=0,krdpos,avypos,Saflag=0,Sapos; int krdoth=0,no_krdoth,krdsuc=1,subver=0; long afppos,pos; unsigned char c,line[500],*word[15],temp[150],*substr,temp1[30],temp2[30]; char code1[5],code2[5]; FILE *cfp; DETAIL *firstptr=NULL,*subptr=NULL,*fstptr=NULL,*subunmatch; DETAIL *karptr=NULL,*un_match=NULL,*karmatch=NULL; DETAIL *verptr=NULL,*krdrecord=NULL,*krdunmatch=NULL,*krdmatch=NULL,*avyrecord=NULL; SHASTI *shrvib=NULL,*tshrvib=NULL;int a=0,i=0,j=0,m=0,n=0,no_vsub=0,no_ksub=0,num_sub,Naflag=0; int flag=1,krdflag=0,krdavyf=0,verflag=0,karflag=0,shaflag=0; int krdmismatch=0,mismatch=0,krdpos,avypos,Saflag=0,Sapos; int krdoth=0,no_krdoth,krdsuc=1,subver=0; long afppos,pos; unsigned char c,line[500],*word[15],temp[150],*substr,temp1[30],temp2[30]; char code1[5],code2[5]; FILE *cfp; DETAIL *firstptr=NULL,*subptr=NULL,*fstptr=NULL,*subunmatch; DETAIL *karptr=NULL,*un_match=NULL,*karmatch=NULL; DETAIL *verptr=NULL,*krdrecord=NULL,*krdunmatch=NULL,*krdmatch=NULL,*avyrecord=NULL; SHASTI *shrvib=NULL,*tshrvib=NULL; cfp=fopen("comptble.aci","r"); if(cfp== NULL) exit(0); firstptr=srecord; subptr=srecord; fstptr=srecord; while(1) { if(strcmp(subptr->word,"न")==0) Naflag=1; else if(strcmp(subptr->word,"सह")==0) { Saflag=1; Sapos=subptr->pos; } if(subptr->next != NULL) subptr=subptr->next; else break; } subptr=srecord; karptr=krecord; verptr=vrecord; krdrecord=krdfirst; avyrecord=krdavy; krdpos=0;if(krdfirst != NULL) { if(strcmp(krdrecord->Type,"Krdanta")==0 || strcmpi(krdrecord->specf,"Subject")==0) { krdflag=1; krdpos=krdrecord->pos; } } if(krdavy != NULL) { if(strcmpi(krdavy->Type,"Krdavyaya")==0) krdavyf=1; } verflag=0; while(verptr != NULL) { if(strcmp(verptr->dispSpecf,"Verb")==0) verflag=1; if(verptr->next == NULL) break; verptr=verptr->next; } verptr=vrecord;while(1) { if(karptr != NULL && krdflag==0 && krdavyf==0) { if(karptr->sub_no != 7 && (karptr->pos != Sapos-1)) no_vsub++; if(karptr->next != vrecord) karptr=karptr->next; else break; } else if(karptr != NULL && verflag==1 && krdflag==1) { if(karptr->sub_no != 6) { if (karptr->pos > krdfirst->pos ) no_vsub++; else if(strcmp(krdfirst->specf,"Subject")!=0) no_vsub++; } else if(karptr->sub_no == 6) { if (karptr->pos != krdfirst->pos-1 ) no_vsub++; else if(strcmp(krdfirst->specf,"Subject")!=0) no_vsub++; } if(karptr->next != krdfirst) karptr=karptr->next; else break; } else if(karptr != NULL && verflag==1 && krdavyf==1) { if (karptr->pos > krdavy->pos) no_vsub++; if(karptr->next != krdavy) karptr=karptr->next; else break; } else break; }fprintf(rfp,"%s
- ",sent); karptr=krecord; if(fshtptr==NULL) { while(1) { fprintf(rfp,"%s ", subptr->Type); if(strcmp(subptr->Type,"Noun")==0 || strcmp(subptr->Type,"Krdanta")==0 ) fprintf(rfp,"%s",subptr->specf); fprintf(rfp," : %s",subptr->word); fprintf(rfp,"
- "); if(subptr->next != NULL) subptr=subptr->next; else break; } subptr=srecord; shaflag=0; } else { sha_disp(subptr,sent,rfp); shaflag=1; }fprintf(rfp,"
- -------------------
- "); karptr=krecord; subptr=srecord; if(vrecord==NULL) vrecord=krdfirst; verptr=vrecord;}
- अजगर-वाक्य:
- आनी stdio.kn # परिग्रह् stdio.h
- आनी string.kn # परिग्रह् string.h
- आनी stdlib.kn # परिग्रह् stdlib.h
- आनी conio.kn # परिग्रह् conio.h
- आनी alloc.kn # परिग्रह् alloc.h
- आनी data.kn # परिग्रह् data.h
- आनी declr.kn # परिग्रह् declr.h
- eof = 255
- rt = 86
- निरूप् CheckComptability(srecord DETAIL, krecord DETAIL, vrecord DETAIL, krdfirst DETAIL, krdavy DETAIL, sent अक्षरंमाला, fshtptr SHASTI, rfp लेख्यं, afp लेख्यं, sfp लेख्यं, y पूर्णांकः) -> पूर्णांकः:
- #< भागः>{
- a = 0 # प्रकारः पूर्णांकः
- i = 0 # प्रकारः पूर्णांकः
- j = 0 # प्रकारः पूर्णांकः
- m = 0 # प्रकारः पूर्णांकः
- n = 0 # प्रकारः पूर्णांकः
- no_vsub = 0 # प्रकारः पूर्णांकः
- no_ksub = 0 # प्रकारः पूर्णांकः
- num_sub, Naflag = 0 # प्रकारः पूर्णांकः
- flag = 1 # प्रकारः पूर्णांकः
- krdflag = 0 # प्रकारः पूर्णांकः
- krdavyf = 0 # प्रकारः पूर्णांकः
- verflag = 0 # प्रकारः पूर्णांकः
- karflag = 0 # प्रकारः पूर्णांकः
- shaflag = 0 # प्रकारः पूर्णांकः
- krdmismatch = 0 # प्रकारः पूर्णांकः
- mismatch = 0 # प्रकारः पूर्णांकः
- krdpos, avypos = None # प्रकारः पूर्णांकः
- Saflag = 0 # प्रकारः पूर्णांकः
- Sapos = None # प्रकारः पूर्णांकः
- krdoth = 0 # प्रकारः पूर्णांकः
- no_krdoth, krdsuc = 1 # प्रकारः पूर्णांकः
- subver = 0 # प्रकारः पूर्णांकः
- afppos = None # प्रकारः दशक
- pos = None # प्रकारः दशक
- c = None # प्रकारः अक्षरंमाला
- line = [None] * 500 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- word = [None] * 15 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- temp = [None] * 150 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- substr = None # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- temp1 = [None] * 30 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- temp2 = [None] * 30 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- code1 = [None] * 5 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- code2 = [None] * 5 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- cfp = None # प्रकारः लेख्यं
- firstptr = NULL # प्रकारः DETAIL
- subptr = NULL # प्रकारः DETAIL
- fstptr = NULL # प्रकारः DETAIL
- subunmatch = None # प्रकारः DETAIL
- karptr = NULL # प्रकारः DETAIL
- un_match = NULL # प्रकारः DETAIL
- karmatch = NULL # प्रकारः DETAIL
- verptr = NULL # प्रकारः DETAIL
- krdrecord = NULL # प्रकारः DETAIL
- krdunmatch = NULL # प्रकारः DETAIL
- krdmatch = NULL # प्रकारः DETAIL
- avyrecord = NULL # प्रकारः DETAIL
- shrvib = NULL # प्रकारः SHASTI
- tshrvib = NULL # प्रकारः SHASTI
- a = 0 # प्रकारः पूर्णांकः
- i = 0 # प्रकारः पूर्णांकः
- j = 0 # प्रकारः पूर्णांकः
- m = 0 # प्रकारः पूर्णांकः
- n = 0 # प्रकारः पूर्णांकः
- no_vsub = 0 # प्रकारः पूर्णांकः
- no_ksub = 0 # प्रकारः पूर्णांकः
- num_sub, Naflag = 0 # प्रकारः पूर्णांकः
- flag = 1 # प्रकारः पूर्णांकः
- krdflag = 0 # प्रकारः पूर्णांकः
- krdavyf = 0 # प्रकारः पूर्णांकः
- verflag = 0 # प्रकारः पूर्णांकः
- karflag = 0 # प्रकारः पूर्णांकः
- shaflag = 0 # प्रकारः पूर्णांकः
- krdmismatch = 0 # प्रकारः पूर्णांकः
- mismatch = 0 # प्रकारः पूर्णांकः
- krdpos, avypos, Saflag = 0 # प्रकारः पूर्णांकः
- Sapos = None # प्रकारः पूर्णांकः
- krdoth = 0 # प्रकारः पूर्णांकः
- no_krdoth, krdsuc = 1 # प्रकारः पूर्णांकः
- subver = 0 # प्रकारः पूर्णांकः
- afppos = None # प्रकारः दशक
- pos = None # प्रकारः दशक
- c = None # प्रकारः अक्षरंमाला
- line = [None] * 500 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- word = [None] * 15 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- temp = [None] * 150 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- substr = None # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- temp1 = [None] * 30 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- temp2 = [None] * 30 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- code1 = [None] * 5 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- code2 = [None] * 5 # प्रकारः अनुक्रमणिका[ अक्षरंमाला]
- cfp = None # प्रकारः लेख्यं
- firstptr = NULL # प्रकारः DETAIL
- subptr = NULL # प्रकारः DETAIL
- fstptr = NULL # प्रकारः DETAIL
- subunmatch = None # प्रकारः DETAIL
- karptr = NULL # प्रकारः DETAIL
- un_match = NULL # प्रकारः DETAIL
- karmatch = NULL # प्रकारः DETAIL
- verptr = NULL # प्रकारः DETAIL
- krdrecord = NULL # प्रकारः DETAIL
- krdunmatch = NULL # प्रकारः DETAIL
- krdmatch = NULL # प्रकारः DETAIL
- avyrecord = NULL # प्रकारः DETAIL
- shrvib = NULL # प्रकारः SHASTI
- tshrvib = NULL # प्रकारः SHASTI
- cfp = fopen("comptble.aci", "r")
- यदि cfp == NULL: exit(0)
- firstptr = srecord
- subptr = srecord
- fstptr = srecord
- यदा(1):
- #< भागः>{
- यदि subptr.word == "न":Naflag = 1
- अन्यथा : यदि subptr.word == "सह":
- #< भागः>{
- Saflag = 1
- Sapos = subptr.pos#<\ भागः>
- iter_subptr = iter(subptr) # move this outside the while block
- try:
- next(iter_subptr)
- except StopIterationException as e:
- break;#<\ भागः>
- subptr = srecord
- karptr = krecord
- verptr = vrecord
- krdrecord = krdfirst
- avyrecord = krdavy
- krdpos = 0
- यदि krdfirst != NULL:
- #< भागः>{
- यदि krdrecord.Type == "Krdanta" वा krdrecord.specf == "Subject": #< भागः>{
- krdflag = 1
- krdpos = krdrecord.pos#<\ भागः>#<\ भागः>
- यदि krdavy != NULL:
- #< भागः>{
- यदि krdavy.Type == "Krdavyaya":
- krdavyf = 1#<\ भागः>
- verflag = 0
- यदा(verptr != NULL):
- #< भागः>{
- यदि verptr.dispSpecf == "Verb": verflag = 1
- यदि verptr.next == NULL: निर्गमः
- verptr = verptr.next#<\ भागः>
- verptr = vrecord
- यदा(1):
- #< भागः>{
- iter_#< भागः>{
- यदि karptr.sub_no != 7 च (karptr.pos != Sapos - 1): no_vsub += 1
- यदि karptr.next != vrecord:karptr = iter(#< भागः>{
- यदि karptr.sub_no != 7 च (karptr.pos != Sapos - 1): no_vsub += 1
- यदि karptr.next != vrecord:karptr) # move this outside the while block
- try:
- next(iter_#< भागः>{
- यदि karptr.sub_no != 7 च (karptr.pos != Sapos - 1): no_vsub += 1
- यदि karptr.next != vrecord:karptr)
- except StopIterationException as e:
- break;
- iter_#< भागः>{
- यदि karptr.pos > krdavy.pos: no_vsub += 1
- यदि karptr.next != krdavy:karptr = iter(#< भागः>{
- यदि karptr.pos > krdavy.pos: no_vsub += 1
- यदि karptr.next != krdavy:karptr) # move this outside the while block
- try:
- next(iter_#< भागः>{
- यदि karptr.pos > krdavy.pos: no_vsub += 1
- यदि karptr.next != krdavy:karptr)
- except StopIterationException as e:
- break;#<\ भागः>
- fprintf(rfp, "%s
- ", sent)
- karptr = krecord
- यदि fshtptr == NULL:#< भागः>{
- यदा(1):
- #< भागः>{
- fprintf(rfp, "%s ", subptr.Type)
- यदि subptr.Type == "Noun" वा subptr.Type == "Krdanta": fprintf(rfp, "%s", subptr.specf)
- fprintf(rfp, " : %s", subptr.word)
- fprintf(rfp, "
- ")
- iter_subptr = iter(subptr) # move this outside the while block
- try:
- next(iter_subptr)
- except StopIterationException as e:
- break;#<\ भागः>
- subptr = srecord
- shaflag = 0#<\ भागः>
- अन्यथा :
- #< भागः>{
- sha_disp(subptr, sent, rfp)
- shaflag = 1#<\ भागः>
- fprintf(rfp, "
- -------------------
- ")
- karptr = krecord
- subptr = srecord
- यदि vrecord == NULL: vrecord = krdfirst
- verptr = vrecord#<\ भागः>
- C statement: while(strcmpi(srecord->specf,"subject")==0 && strcmpi(srecord->Type,"Noun")==0) { if(krdflag==1) { for(m=0;m<(krdrecord->no_base);m++) { num_sub=no_ksub; karflag=0; un_match=NULL; if(karptr != NULL) { while(1) { if(strcmp(krdrecord->specf,"Subject")==0) { if(karptr->pos < krdrecord->pos && karptr != NULL ) { if(karptr->sub_no != 6) karflag++; } } if(strcmpi(karptr->next->Type,"Krdanta")==0 ||strcmpi(karptr->next->Type,"Krdavyaya")==0 ) break; else karptr=karptr->next; } } krdoth=0; no_krdoth=0; while(1) { if(strcmpi(krdrecord->specf,"Subject") !=0 ) { if(strcmpi(krdrecord->Type,"Krdanta") ==0 ) { no_krdoth++; krdoth++; } } if(strcmpi(krdrecord->next->Type,"Krdanta") !=0 || krdrecord->next == NULL) break; else krdrecord=krdrecord->next; } krdrecord=krdfirst; for(n=0;n<srecord->no_base;n++) { num_sub=no_ksub; rewind(cfp); mismatch=0; krdmismatch=0; while( (c=fgetc(cfp)) != eof) { ungetc(c,cfp); fgets(line,150,cfp); if(line[0]=="
- ") continue; j=split(line,word); strncpy(code1,line,2); code1[2]=" "; karptr=krecord; krdrecord=krdfirst; if(strcmp(srecord->code[n],code1)==0 ) { if(strcmp(krdrecord->Type,"Krdanta")==0 ) { if((strcmpi(srecord->voice,"kartari") == 0 && srecord->linga==krdrecord->linga && srecord->vibvach==krdrecord->vibvach) || strcmpi(srecord->voice,"karmani") == 0 ) { strncpy(code2,line+3,2); code2[2]=" "; karptr=krecord; if(karflag==0 && strcmp(code2,"00")==0) { substr=strstr(word[1],krdrecord->code[m]); if(substr) mismatch=0; else mismatch=1; } else { if(karptr != NULL) { while(1) { if((karptr->pos < krdrecord->pos) && karptr!= NULL && strcmp(karptr->code[0],code2)==0) { if(karptr->sub_no !=6 ) { substr=strstr(word[karptr->sub_no],krdrecord->code[m]); if(substr) { mismatch=0; karflag--; } else { mismatch=1; krdunmatch=krdrecord; un_match=karptr; } } } if(strcmpi(karptr->next->Type,"Krdanta")==0) break; else karptr=karptr->next; } } } } } } if(krdoth) { strncpy(code2,line+3,2); code2[2]=" "; if(karptr != NULL) { while(1) { while(1) { if(krdrecord->sub_no !=6) { if(strcmpi(krdfirst->specf,"Subject") != 0 && karptr->pos < krdrecord->pos) { } if(strcmp(karptr->code[0],code1)==0 && strcmp(code2,"00")==0 && strcmp(karptr->specf,krdrecord->specf)==0 && krdrecord->matnoun==1 && (karptr->pos == krdrecord->pos +1)) { substr=strstr(word[karptr->sub_no],krdrecord->code[m]); if(substr && krdmismatch==0) { no_krdoth--; krdmatch=krdrecord; karmatch=karptr; } else if(!substr) { krdmismatch=1; krdunmatch=krdrecord; karmatch=karptr; } break; } else if(krdrecord->matnoun != 1) { if((strcmp(code1,"AA")==0 && strcmp(code2,"00")==0 ) && strcmp(krdrecord->specf,"Subject") !=0) { substr=strstr(word[1],krdrecord->code[m]); if(substr && krdmismatch==0) { no_krdoth--; krdmatch=krdrecord; } else if(!substr) { krdmismatch=1; krdunmatch=krdrecord; } } } } if(krdrecord->sub_no ==6) { shrvib=fshtptr ; while(strcmp(krdrecord->word,shrvib->word) !=0) shrvib=shrvib->next; if(strcmp(shrvib->next->code[0],code1)==0 && strcmp(code2,"00")==0 && strcmp(karptr->specf,krdrecord->specf)==0) { substr=strstr(word[1],krdrecord->code[m]); if(substr && krdmismatch==0) { no_krdoth--; krdmatch=krdrecord; karmatch=karptr; } else if(!substr) { krdmismatch=1; krdunmatch=krdrecord; karmatch=karptr; } break; } } krdrecord=krdrecord->next; if(strcmp(krdrecord->Type,"Krdanta") !=0) break; if(krdrecord->next == NULL) break; } krdrecord=krdfirst; if(strcmpi(karptr->next->Type,"krdanta")==0) break; else karptr=karptr->next; } } else { while(strcmp(krdrecord->Type,"Verb") !=0 || krdrecord->next != NULL) { if(krdrecord->sub_no !=6) { if((strcmp(code1,"AA")==0 && strcmp(code2,"00")==0 ) && strcmp(krdrecord->specf,"Subject") !=0) { substr=strstr(word[1],krdrecord->code[m]); if(substr && krdmismatch==0) { no_krdoth--; krdmatch=krdrecord; } else if(!substr) { krdmismatch=1; krdunmatch=krdrecord; } } } krdrecord=krdrecord->next; } } } for(i=0;i<j;i++) free(word[i]); } if(Naflag==0) { if(verflag==0) { if(!krdoth ) { if(mismatch==0 && karflag==0) { krdsuc=1; flag=1; fprintf(rfp,"The Krdanta is Semantically Compatible if %s root means %s and subject is %s ",krdfirst->stem,krdfirst->base[m],srecord->base[n]); } else { krdsuc=0; flag=0; fprintf(rfp,"Verb %s is not compatible with subject %s",verptr->word,srecord->word); if(un_match != NULL) fprintf(rfp,"if %s is %s",un_match->dispSpecf,un_match->word); } } else if(krdoth) { if(mismatch==0 && karflag==0 && no_krdoth==0) { krdsuc=1; flag=1; if(karptr != NULL) fprintf(rfp,"%s %s %s is compatible with %s %s %s",karmatch->Type,karmatch->specf,karmatch->word,krdmatch->Type,krdmatch->specf,krdmatch->word); else fprintf(rfp,"%s %s %s is semantically compatible",krdmatch->Type,krdmatch->specf,krdmatch->word); fprintf(rfp,"The Krdanta is Semantically Compatible if %s root means %s and subject is %s ",krdfirst->stem,krdfirst->base[m],srecord->base[n]); } else if((mismatch || karflag) && ! no_krdoth) { krdsuc=0; flag=0; /*fprintf(rfp,"Verb %s is not compatible with subject %s
- ",verptr->word,srecord->word);*/ if(mismatch) fprintf(rfp,"%s %s %s is not compatble with %s is %s",krdunmatch->Type,krdunmatch->specf,krdunmatch->word,un_match->dispSpecf,un_match->word); } else if(krdmismatch==1) { krdsuc=0; flag=0; fprintf(rfp,"%s %s %s is not compatible with %s %s %s if Krdanta base is %s ",karmatch->Type,karmatch->specf,karmatch->word,krdunmatch->Type,krdunmatch->specf,krdunmatch->word,krdunmatch->base[0]); if(un_match != NULL) fprintf(rfp,"if %s is %s ",un_match->dispSpecf,un_match->word); } } } if(verflag==1) { if(!krdoth ) { if(mismatch==0 && karflag==0) { krdsuc=1; fprintf(rfp,"The Krdanta is Semantically Compatible if %s root means %s and subject is %s ",krdfirst->stem,krdfirst->base[m],srecord->base[n]); } else { krdsuc=0; fprintf(rfp,"Verb %s is not compatible with subject %s ",verptr->word,srecord->word); if(un_match != NULL) fprintf(rfp,"if %s is %s ",un_match->dispSpecf,un_match->word); } } else if(krdoth) { if(mismatch==0 && karflag==0 && no_krdoth==0) { krdsuc=1; if(krdmatch->matnoun==1) { if(karptr != NULL ) fprintf(rfp,"%s %s %s is compatible with %s %s %s ",karmatch->Type,karmatch->specf,karmatch->word,krdmatch->Type,krdmatch->specf,krdmatch->word); } else fprintf(rfp,"%s %s %s is semantically compatible ",krdmatch->Type,krdmatch->specf,krdmatch->word); if(strcmp(krdfirst->Type,"Subject")==0) fprintf(rfp,"The Krdanta is Semantically Compatible if %s root means %s and subject is %s ",krdfirst->stem,krdfirst->base[m],srecord->base[n]); } else if((mismatch || karflag) && ! no_krdoth) { krdsuc=0; if(mismatch) fprintf(rfp,"%s %s %s is not compatble with Noun Subject if %s is %s ",krdunmatch->Type,krdunmatch->specf,krdunmatch->word,un_match->dispSpecf,un_match->word); } else if(krdmismatch==1) { krdsuc=0; fprintf(rfp,"%s %s %s is not compatible with %s %s %s if Krdanta base is %s ",karmatch->Type,karmatch->specf,karmatch->word,krdunmatch->Type,krdunmatch->specf,krdunmatch->word,krdunmatch->base[0]); if(un_match != NULL) fprintf(rfp,"if %s is %s ",un_match->dispSpecf,un_match->word); } } } } if(Naflag==1) { krdsuc=1; flag=1; } } } } if(krdavyf==1) { for(m=0;m<(avyrecord->no_base);m++) { num_sub=no_ksub; karflag=0; un_match=NULL; while(1) { if((karptr->pos < avyrecord->pos) && karptr!= NULL) karflag++; if(strcmpi(karptr->next->Type,"Krdavyaya")==0 ) break; else karptr=karptr->next; } krdrecord=krdfirst; for(n=0;n<srecord->no_base;n++) { num_sub=no_ksub; rewind(cfp); mismatch=0; krdmismatch=0; while( (c=fgetc(cfp)) != eof) { ungetc(c,cfp); fgets(line,150,cfp); if(line[0]=="
- ") continue; j=split(line,word); strncpy(code1,line,2); code1[2]=" "; karptr=krecord; if(strcmp(srecord->code[n],code1)==0 ) { if(strcmp(avyrecord->Type,"Krdavyaya")==0) { strncpy(code2,line+3,2); code2[2]=" "; karptr=krecord; if(karflag==0 && strcmp(code2,"00")==0) { substr=strstr(word[1],verptr->code[m]); if(substr) mismatch=0; else mismatch=1; } else { while(1) { if((karptr->pos < avyrecord->pos) && karptr!= NULL && strcmp(karptr->code[0],code2)==0) { substr=strstr(word[karptr->sub_no],avyrecord->code[m]); if(substr) { mismatch=0; karflag--; } else { mismatch=1; un_match=karptr; } } if(strcmpi(karptr->Type,"Noun") !=0) break; else karptr=karptr->next; } } } } for(i=0;i<j;i++) free(word[i]); } if(Naflag==0) { if(!krdoth) { if(mismatch==0 && karflag==0) { krdsuc=1; fprintf(rfp,"The Krdavyaya is Semantically Compatible if %s root means %s and subject is %s ",krdavy->stem,krdavy->base[m],srecord->base[n]); } else { krdsuc=0; fprintf(rfp,"Verb %s is not compatible with subject %s ",verptr->word,srecord->word); if(un_match != NULL) fprintf(rfp,"if %s is %s ",un_match->dispSpecf,un_match->word); } } } } } } if(verflag==1) { subver=1; while(strcmpi(verptr->specf,"Verb")==0) { if(strcmpi(verptr->dispSpecf,"Verb") ==0 || strcmpi(verptr->dispSpecf,"Krdanta") ==0) { for(m=0;m<(verptr->no_base);m++) { num_sub=no_vsub; if(verptr->code[m][0] != " ") { for(n=0;n<srecord->no_base;n++) { num_sub=no_vsub; rewind(cfp); karmatch=NULL; while( (c=fgetc(cfp)) != eof) { ungetc(c,cfp); fgets(line,150,cfp); if(line[0]=="
- ") continue; karptr=krecord; j=0; j=split(line,word); strncpy(code1,line,2); code1[2]=" "; strncpy(code2,line+3,2); code2[2]=" "; if(shaflag==0) { if(strcmp(srecord->code[n],code1)==0) { if(strcmp(code2,"00")==0) { if(strcmp(srecord->code[n],code1)==0) { substr=strstr(word[1],verptr->code[m]); if(substr) { if(subver) subver=1; else subver=0; } else { subunmatch=srecord; subver=0; } } } if(strcmp(code2,"00")==0 && (karptr==NULL || no_vsub==0)) { substr=strstr(word[1],verptr->code[m]); if(substr) flag=0; else flag=1; if(krdflag) { if(!krdsuc && !flag) flag=0; if(krdsuc && !flag) flag=1; if(krdsuc && flag) flag=1; } } else if(krdflag==0 ) { while(strcmpi(karptr->specf,"Verb")!=0 && krecord != NULL) { if(strcmp(karptr->code[0],code2)==0 && Saflag==0) { substr=strstr(word[karptr->sub_no],verptr->code[m]); if(substr) { karmatch=karptr; num_sub--; } else un_match=karptr; } if(strcmp(karptr->code[0],code2)==0 && Saflag==1) { substr=strstr(word[karptr->sub_no],verptr->code[m]); if(substr) { karmatch=karptr; num_sub--; } else un_match=karptr; } karptr=karptr->next; } } else if(krdflag && no_vsub) { while(strcmpi(karptr->specf,"Verb") !=0 && krecord != NULL) { if(strcmp(karptr->code[0],code2)==0) { if((karptr->pos > krdpos && strcmp(krdfirst->specf,"Subject")==0)|| strcmp(krdfirst->specf,"Subject")!=0 ) { substr=strstr(word[karptr->sub_no],verptr->code[m]); if(substr) { karmatch=karptr; num_sub--; } else un_match=karptr; } } karptr=karptr->next; } } } } else if(shaflag==1) { while(strcmpi(karptr->specf,"Verb") !=0 && strcmpi(karptr->specf,"Krdanta") !=0 && strcmpi(karptr->specf,"Krdavyaya") !=0 && krecord != NULL) { strncpy(code2,line+3,2); code2[2]=" "; if(strcmp(code2,"00")==0) { if(strcmp(srecord->code[n],code1)==0) { substr=strstr(word[1],verptr->code[m]); if(substr) { if(subver) subver=1; else { subunmatch=srecord; subver=0; } } else { subunmatch=srecord; subver=0; } } } if(karptr->sub_no==6 ) { shrvib=fshtptr ; while(strcmp(karptr->word,shrvib->word) !=0) shrvib=shrvib->next; if(strcmp(code1,shrvib->code[0])==0 && strcmp(code2,shrvib->next->code[0])==0 ) { if(strcmp(word[6],"*")==0) { karmatch=karptr; num_sub--; } else un_match=karptr; } } else if(karptr->sub_no < 6 && strcmp(srecord->code[n],code1)==0 ) { if(strcmp(karptr->code[0],code2)==0 && karptr->pos > krdpos ) { substr=strstr(word[karptr->sub_no],verptr->code[m]); if(substr) { karmatch=karptr; num_sub--; } else un_match=karptr; } } karptr=karptr->next; } } if(strcmp(code2,"00")==0 && Saflag==1) { subptr=fstptr; while(1) { if(strcmp(subptr->Type,"Noun")==0 && strcmp(subptr->specf,"Instrument")==0 && (subptr->pos == (Sapos -1)) ) { if(strcmp(subptr->code[n],code1)==0) { substr=strstr(word[1],verptr->code[m]); if(substr) { if(subver) subver=1; else { subunmatch=srecord; subver=0; } } else { subunmatch=srecord; subver=0; } } } if(subptr->next == NULL) break; else subptr=subptr->next; } } for(i=0;i<j;i++) free(word[i]); } if(Naflag==0) { if(num_sub==0 && subver) { flag=1; fprintf(rfp,"The Verb %s is Semantically Compatible With Subject if Verb Root means %s ",verptr->stem,verptr->base[m]); if(no_vsub) fprintf(rfp,"and %s is %s ",karmatch->specf,karmatch->base[m]); } else if(subver==0) { flag=0; fprintf(rfp,"The Verb %s is not compatible with the Subject ",verptr->word); } else if(num_sub && subver) { flag=0; fprintf(rfp,"The Verb %s is not compatible with Subject if %s is %s ",verptr->word,un_match->specf,un_match->stem); } if(krdflag) { if(krdsuc==1 && flag==1) flag=1; if(krdsuc==0 ||flag==0) flag=0; } } else if(Naflag==1) flag=1; } if(verptr->no_base > 1) { afppos=ftell(afp); y=Sabdabodha(afp,sfp,rfp,firstptr,sent,flag,y,pos,Saflag,verptr->base[m],m); fseek(afp,afppos,0); pos=ftell(rfp); fseek(rfp,pos,0); } } if(verptr->no_base == m+1 && verptr->no_base > 1) { while(!feof(afp)) { fgets(line,499,afp); if(line[0]=="-") break; } } } if(verptr->next==NULL) break; else verptr=verptr->next; } } } srecord=srecord->next; } if(flag==1) fprintf(rfp,"
- The Sentence is Semantically Compatible"); else fprintf(rfp,"
- The Sentence is Semantically Not Compatible"); fprintf(rfp,"
- -------------------
- "); if(fshtptr != NULL) { shrvib=fshtptr; tshrvib=shrvib; while(fshtptr->next != NULL) { while(shrvib->next != NULL) { tshrvib=shrvib; shrvib=shrvib->next; } free(shrvib->specf); free(shrvib->word); for(i=0;i<shrvib->no_base;i++) { free(shrvib->base[i]); free(shrvib->code[i]); } free(shrvib); tshrvib->next=NULL; shrvib=fshtptr; } free(shrvib->specf); free(shrvib->word); for(i=0;i<fshtptr->no_base;i++) { free(fshtptr->base[i]); free(fshtptr->code[i]); } free(fshtptr); }
- अजगर-वाक्य:
- यदा(srecord.specf == "subject" च srecord.Type == "Noun"):
- #< भागः>{
- यदि krdflag == 1:
- #< भागः>{
- प्रतिm अंतरे राजिः (0, (krdrecord.no_base)):
- #< भागः>{
- num_sub = no_ksub
- karflag = 0
- un_match = NULL
- यदि karptr != NULL:
- #< भागः>{
- यदा(1):
- #< भागः>{
- यदि krdrecord.specf == "Subject":
- #< भागः>{
- यदि karptr.pos < krdrecord.pos च karptr != NULL: #< भागः>{
- यदि karptr.sub_no != 6: karflag += 1#<\ भागः>#<\ भागः>
- यदि karptr.next.Type == "Krdanta" वा karptr.next.Type == "Krdavyaya": निर्गमः
- अन्यथा :karptr = karptr.next#<\ भागः>#<\ भागः>
- krdoth = 0
- no_krdoth = 0
- यदा(1):
- #< भागः>{
- यदि krdrecord.specf != "Subject": #< भागः>{
- यदि krdrecord.Type == "Krdanta": #< भागः>{
- no_krdoth += 1
- krdoth += 1#<\ भागः>#<\ भागः>
- यदि krdrecord.next.Type != "Krdanta" वा krdrecord.next == NULL: निर्गमः
- अन्यथा :krdrecord = krdrecord.next#<\ भागः>
- krdrecord = krdfirst
- प्रतिn अंतरे राजिः (0, srecord.no_base):
- #< भागः>{
- num_sub = no_ksub
- rewind(cfp)
- mismatch = 0
- krdmismatch = 0
- यदा((fgetc(cfp)) != eof):
- #< भागः>{
- ungetc(c, cfp)
- fgets(line, 150, cfp)
- यदि line[0] == "
- ": प्रवृत्
- j = split(line, word)
- code1 = line
- karptr = krecord
- krdrecord = krdfirst
- यदि srecord.code[n] == code1:
- #< भागः>{
- यदि krdrecord.Type == "Krdanta": #< भागः>{
- यदि (srecord.voice == "kartari" च srecord.linga == krdrecord.linga च srecord.vibvach == krdrecord.vibvach) वा srecord.voice == "karmani": #< भागः>{
- code2 = line
- karptr = krecord
- यदि karflag == 0 च code2 == "00":#< भागः>{
- substr = strstr(word[1], krdrecord.code[m])
- यदि substr:mismatch = 0
- अन्यथा :mismatch = 1#<\ भागः>
- अन्यथा :#< भागः>{
- यदि karptr != NULL:
- #< भागः>{
- यदा(1):
- #< भागः>{
- यदि (karptr.pos < krdrecord.pos) च karptr != NULL च karptr.code[0] == code2:
- #< भागः>{
- यदि karptr.sub_no != 6: #< भागः>{
- substr = strstr(word[karptr.sub_no], krdrecord.code[m])
- यदि substr:#< भागः>{
- mismatch = 0
- karflag -= 1#<\ भागः>
- अन्यथा :#< भागः>{
- mismatch = 1
- krdunmatch = krdrecord
- un_match = karptr#<\ भागः>#<\ भागः>#<\ भागः>
- यदि karptr.next.Type == "Krdanta": निर्गमः
- अन्यथा :karptr = karptr.next#<\ भागः>#<\ भागः>#<\ भागः>#<\ भागः>#<\ भागः>#<\ भागः>
- यदि krdoth:
- #< भागः>{
- code2 = line
- iter_#< भागः>{
- यदा(1):
- #< भागः>{
- यदा(1):
- #< भागः>{
- यदि krdrecord.sub_no != 6:
- #< भागः>{
- यदि krdfirst.specf != "Subject" च karptr.pos < krdrecord.pos:
- #< भागः>{
- #<\ भागः>
- यदि karptr.code[0] == code1 च code2 == "00" च karptr.specf == krdrecord.specf च krdrecord.matnoun == 1 च (karptr.pos == krdrecord.pos + 1):#< भागः>{
- substr = iter(#< भागः>{
- यदा(1):
- #< भागः>{
- यदा(1):
- #< भागः>{
- यदि krdrecord.sub_no != 6:
- #< भागः>{
- यदि krdfirst.specf != "Subject" च karptr.pos < krdrecord.pos:
- #< भागः>{
- #<\ भागः>
- यदि karptr.code[0] == code1 च code2 == "00" च karptr.specf == krdrecord.specf च krdrecord.matnoun == 1 च (karptr.pos == krdrecord.pos + 1):#< भागः>{
- substr) # move this outside the while block
- try:
- next(iter_#< भागः>{
- यदा(1):
- #< भागः>{
- यदा(1):
- #< भागः>{
- यदि krdrecord.sub_no != 6:
- #< भागः>{
- यदि krdfirst.specf != "Subject" च karptr.pos < krdrecord.pos:
- #< भागः>{
- #<\ भागः>
- यदि karptr.code[0] == code1 च code2 == "00" च karptr.specf == krdrecord.specf च krdrecord.matnoun == 1 च (karptr.pos == krdrecord.pos + 1):#< भागः>{
- substr)
- except StopIterationException as e:
- break;#<\ भागः>
- प्रतिi अंतरे राजिः (0, j):
- free(word[i])#<\ भागः>
- यदि Naflag == 0:
- #< भागः>{
- यदि verflag == 0:
- #< भागः>{
- यदि !krdoth:#< भागः>{
- यदि mismatch == 0 च karflag == 0:#< भागः>{
- krdsuc = 1
- flag = 1
- fprintf(rfp, "The Krdanta is Semantically Compatible if %s root means %s and subject is %s ", krdfirst.stem, krdfirst.base[m], srecord.base[n])#<\ भागः>
- अन्यथा :#< भागः>{
- krdsuc = 0
- flag = 0
- fprintf(rfp, "Verb %s is not compatible with subject %s", verptr.word, srecord.word)
- यदि un_match != NULL: fprintf(rfp, "if %s is %s", un_match.dispSpecf, un_match.word)#<\ भागः>#<\ भागः>
- अन्यथा :
- यदि krdoth: #< भागः>{
- यदि mismatch == 0 च karflag == 0 च no_krdoth == 0:#< भागः>{
- krdsuc = 1
- flag = 1
- iter_fprintf(rfp, "%s %s %s is compatible with %s %s %s", karmatch.Type, karmatch.specf, karmatch.word, krdmatch.Type, krdmatch.specf, krdmatch.word) = iter(fprintf(rfp, "%s %s %s is compatible with %s %s %s", karmatch.Type, karmatch.specf, karmatch.word, krdmatch.Type, krdmatch.specf, krdmatch.word)) # move this outside the while block
- try:
- next(iter_fprintf(rfp, "%s %s %s is compatible with %s %s %s", karmatch.Type, karmatch.specf, karmatch.word, krdmatch.Type, krdmatch.specf, krdmatch.word))
- except StopIterationException as e:
- break;
- fprintf(rfp, "The Krdanta is Semantically Compatible if %s root means %s and subject is %s ", krdfirst.stem, krdfirst.base[m], srecord.base[n])#<\ भागः>
- अन्यथा :
- यदि (mismatch वा karflag) च !no_krdoth:#< भागः>{
- krdsuc = 0
- flag = 0
- '''fprintf(rfp,"Verb %s is not compatible with subject %s
- ",verptr->word,srecord->word);'''
- यदि mismatch: fprintf(rfp, "%s %s %s is not compatble with %s is %s", krdunmatch.Type, krdunmatch.specf, krdunmatch.word, un_match.dispSpecf, un_match.word)#<\ भागः>
- अन्यथा : यदि krdmismatch == 1: #< भागः>{
- krdsuc = 0
- flag = 0
- fprintf(rfp, "%s %s %s is not compatible with %s %s %s if Krdanta base is %s ", karmatch.Type, karmatch.specf, karmatch.word, krdunmatch.Type, krdunmatch.specf, krdunmatch.word, krdunmatch.base[0])
- यदि un_match != NULL: fprintf(rfp, "if %s is %s ", un_match.dispSpecf, un_match.word)#<\ भागः>#<\ भागः>#<\ भागः>
- यदि verflag == 1: #< भागः>{
- यदि !krdoth:#< भागः>{
- यदि mismatch == 0 च karflag == 0:#< भागः>{
- krdsuc = 1
- fprintf(rfp, "The Krdanta is Semantically Compatible if %s root means %s and subject is %s ", krdfirst.stem, krdfirst.base[m], srecord.base[n])#<\ भागः>
- अन्यथा :#< भागः>{
- krdsuc = 0
- fprintf(rfp, "Verb %s is not compatible with subject %s ", verptr.word, srecord.word)
- यदि un_match != NULL: fprintf(rfp, "if %s is %s ", un_match.dispSpecf, un_match.word)#<\ भागः>#<\ भागः>
- अन्यथा : यदि krdoth: #< भागः>{
- यदि mismatch == 0 च karflag == 0 च no_krdoth == 0:#< भागः>{
- krdsuc = 1
- यदि krdmatch.matnoun == 1:#< भागः>{
- यदि karptr != NULL: fprintf(rfp, "%s %s %s is compatible with %s %s %s ", karmatch.Type, karmatch.specf, karmatch.word, krdmatch.Type, krdmatch.specf, krdmatch.word)#<\ भागः>
- अन्यथा :fprintf(rfp, "%s %s %s is semantically compatible ", krdmatch.Type, krdmatch.specf, krdmatch.word)
- यदि krdfirst.Type == "Subject": fprintf(rfp, "The Krdanta is Semantically Compatible if %s root means %s and subject is %s ", krdfirst.stem, krdfirst.base[m], srecord.base[n])#<\ भागः>
- अन्यथा :
- यदि (mismatch वा karflag) च !no_krdoth:#< भागः>{
- krdsuc = 0
- यदि mismatch: fprintf(rfp, "%s %s %s is not compatble with Noun Subject if %s is %s ", krdunmatch.Type, krdunmatch.specf, krdunmatch.word, un_match.dispSpecf, un_match.word)#<\ भागः>
- अन्यथा : यदि krdmismatch == 1: #< भागः>{
- krdsuc = 0
- fprintf(rfp, "%s %s %s is not compatible with %s %s %s if Krdanta base is %s ", karmatch.Type, karmatch.specf, karmatch.word, krdunmatch.Type, krdunmatch.specf, krdunmatch.word, krdunmatch.base[0])
- यदि un_match != NULL: fprintf(rfp, "if %s is %s ", un_match.dispSpecf, un_match.word)#<\ भागः>#<\ भागः>#<\ भागः>#<\ भागः>
- यदि Naflag == 1:
- #< भागः>{
- krdsuc = 1
- flag = 1#<\ भागः>#<\ भागः>#<\ भागः>#<\ भागः>
- यदि krdavyf == 1:
- #< भागः>{
- प्रतिm अंतरे राजिः (0, (avyrecord.no_base)):
- #< भागः>{
- num_sub = no_ksub
- karflag = 0
- un_match = NULL
- यदा(1):
- #< भागः>{
- यदि (karptr.pos < avyrecord.pos) च karptr != NULL:
- karflag += 1
- यदि karptr.next.Type == "Krdavyaya": निर्गमः
- अन्यथा :karptr = karptr.next#<\ भागः>
- krdrecord = krdfirst
- प्रतिn अंतरे राजिः (0, srecord.no_base):
- #< भागः>{
- num_sub = no_ksub
- rewind(cfp)
- mismatch = 0
- krdmismatch = 0
- यदा((fgetc(cfp)) != eof):
- #< भागः>{
- ungetc(c, cfp)
- fgets(line, 150, cfp)
- यदि line[0] == "
- ": प्रवृत्
- j = split(line, word)
- code1 = line
- karptr = krecord
- यदि srecord.code[n] == code1:
- #< भागः>{
- यदि avyrecord.Type == "Krdavyaya": #< भागः>{
- code2 = line
- karptr = krecord
- यदि karflag == 0 च code2 == "00":#< भागः>{
- substr = strstr(word[1], verptr.code[m])
- यदि substr:mismatch = 0
- अन्यथा :mismatch = 1#<\ भागः>
- अन्यथा :#< भागः>{
- यदा(1):
- #< भागः>{
- यदि (karptr.pos < avyrecord.pos) च karptr != NULL च karptr.code[0] == code2:
- #< भागः>{
- substr = strstr(word[karptr.sub_no], avyrecord.code[m])
- यदि substr:#< भागः>{
- mismatch = 0
- karflag -= 1#<\ भागः>
- अन्यथा :#< भागः>{
- mismatch = 1
- un_match = karptr#<\ भागः>#<\ भागः>
- यदि karptr.Type != "Noun": निर्गमः
- अन्यथा :karptr = karptr.next#<\ भागः>#<\ भागः>#<\ भागः>#<\ भागः>
- प्रतिi अंतरे राजिः (0, j):
- free(word[i])#<\ भागः>
- यदि Naflag == 0: #< भागः>{
- यदि !krdoth: #< भागः>{
- यदि mismatch == 0 च karflag == 0:#< भागः>{
- krdsuc = 1
- fprintf(rfp, "The Krdavyaya is Semantically Compatible if %s root means %s and subject is %s ", krdavy.stem, krdavy.base[m], srecord.base[n])#<\ भागः>
- अन्यथा :#< भागः>{
- krdsuc = 0
- fprintf(rfp, "Verb %s is not compatible with subject %s ", verptr.word, srecord.word)
- यदि un_match != NULL: fprintf(rfp, "if %s is %s ", un_match.dispSpecf, un_match.word)#<\ भागः>#<\ भागः>#<\ भागः>#<\ भागः>#<\ भागः>#<\ भागः>
- यदि verflag == 1:
- #< भागः>{
- subver = 1
- यदा(verptr.specf == "Verb"):
- #< भागः>{
- यदि verptr.dispSpecf == "Verb" वा verptr.dispSpecf == "Krdanta":
- #< भागः>{
- प्रतिm अंतरे राजिः (0, (verptr.no_base)):
- #< भागः>{
- num_sub = no_vsub
- यदि verptr.code[m][0] != " ":
- #< भागः>{
- प्रतिn अंतरे राजिः (0, srecord.no_base):
- #< भागः>{
- num_sub = no_vsub
- rewind(cfp)
- karmatch = NULL
- यदा((fgetc(cfp)) != eof):
- #< भागः>{
- ungetc(c, cfp)
- fgets(line, 150, cfp)
- यदि line[0] == "
- ": प्रवृत्
- karptr = krecord
- j = 0
- j = split(line, word)
- code1 = line
- code2 = line
- यदि shaflag == 0:#< भागः>{
- यदि srecord.code[n] == code1:
- #< भागः>{
- यदि code2 == "00": #< भागः>{
- यदि srecord.code[n] == code1: #< भागः>{
- substr = strstr(word[1], verptr.code[m])
- यदि substr:#< भागः>{
- यदि subver:subver = 1
- अन्यथा :
- subver = 0#<\ भागः>
- अन्यथा :#< भागः>{
- subunmatch = srecord
- subver = 0#<\ भागः>#<\ भागः>#<\ भागः>
- यदि code2 == "00" च (karptr == NULL वा no_vsub == 0):#< भागः>{
- substr = strstr(word[1], verptr.code[m])
- यदि substr:flag = 0
- अन्यथा :flag = 1
- यदि krdflag: #< भागः>{
- यदि !krdsuc च !flag:
- flag = 0
- यदि krdsuc च !flag: flag = 1
- यदि krdsuc च flag: flag = 1#<\ भागः>#<\ भागः>
- अन्यथा :
- यदि krdflag == 0:#< भागः>{
- यदा(karptr.specf != "Verb" च krecord != NULL):
- #< भागः>{
- यदि karptr.code[0] == code2 च Saflag == 0:
- #< भागः>{
- substr = strstr(word[karptr.sub_no], verptr.code[m])
- यदि substr:#< भागः>{
- karmatch = karptr
- num_sub -= 1#<\ भागः>
- अन्यथा :un_match = karptr#<\ भागः>
- यदि karptr.code[0] == code2 च Saflag == 1:
- #< भागः>{
- substr = strstr(word[karptr.sub_no], verptr.code[m])
- यदि substr:#< भागः>{
- karmatch = karptr
- num_sub -= 1#<\ भागः>
- अन्यथा :un_match = karptr#<\ भागः>
- karptr = karptr.next#<\ भागः>#<\ भागः>
- अन्यथा : यदि krdflag च no_vsub: #< भागः>{
- यदा(karptr.specf != "Verb" च krecord != NULL):
- #< भागः>{
- यदि karptr.code[0] == code2: #< भागः>{
- यदि (karptr.pos > krdpos च krdfirst.specf == "Subject") वा krdfirst.specf != "Subject": #< भागः>{
- substr = strstr(word[karptr.sub_no], verptr.code[m])
- यदि substr:#< भागः>{
- karmatch = karptr
- num_sub -= 1#<\ भागः>
- अन्यथा :un_match = karptr#<\ भागः>#<\ भागः>
- karptr = karptr.next#<\ भागः>#<\ भागः>#<\ भागः>#<\ भागः>
- अन्यथा :
- यदि shaflag == 1:
- #< भागः>{
- यदा(karptr.specf != "Verb" च karptr.specf != "Krdanta" च karptr.specf != "Krdavyaya" च krecord != NULL):
- #< भागः>{
- code2 = line
- यदि code2 == "00":
- #< भागः>{
- यदि srecord.code[n] == code1: #< भागः>{
- substr = strstr(word[1], verptr.code[m])
- यदि substr:#< भागः>{
- यदि subver:subver = 1
- अन्यथा :#< भागः>{
- subunmatch = srecord
- subver = 0#<\ भागः>#<\ भागः>
- अन्यथा :#< भागः>{
- subunmatch = srecord
- subver = 0#<\ भागः>#<\ भागः>#<\ भागः>
- यदि karptr.sub_no == 6:#< भागः>{
- shrvib = fshtptr
- यदा(karptr.word != shrvib.word):
- shrvib = shrvib.next
- यदि code1 == shrvib.code[0] च code2 == shrvib.next.code[0]: #< भागः>{
- यदि word[6] == "*":#< भागः>{
- karmatch = karptr
- num_sub -= 1#<\ भागः>
- अन्यथा :un_match = karptr#<\ भागः>#<\ भागः>
- अन्यथा : यदि karptr.sub_no < 6 च srecord.code[n] == code1:
- #< भागः>{
- यदि karptr.code[0] == code2 च karptr.pos > krdpos: #< भागः>{
- substr = strstr(word[karptr.sub_no], verptr.code[m])
- यदि substr:#< भागः>{
- karmatch = karptr
- num_sub -= 1#<\ भागः>
- अन्यथा :un_match = karptr#<\ भागः>#<\ भागः>
- karptr = karptr.next#<\ भागः>#<\ भागः>
- यदि code2 == "00" च Saflag == 1:
- #< भागः>{
- subptr = fstptr
- यदा(1):
- #< भागः>{
- यदि subptr.Type == "Noun" च subptr.specf == "Instrument" च (subptr.pos == (Sapos - 1)):
- #< भागः>{
- यदि subptr.code[n] == code1: #< भागः>{
- substr = strstr(word[1], verptr.code[m])
- यदि substr:#< भागः>{
- यदि subver:subver = 1
- अन्यथा :
- #< भागः>{
- subunmatch = srecord
- subver = 0#<\ भागः>#<\ भागः>
- अन्यथा :#< भागः>{
- subunmatch = srecord
- subver = 0#<\ भागः>#<\ भागः>#<\ भागः>
- यदि subptr.next == NULL: निर्गमः
- अन्यथा :subptr = subptr.next#<\ भागः>#<\ भागः>
- प्रतिi अंतरे राजिः (0, j):
- free(word[i])#<\ भागः>
- यदि Naflag == 0:#< भागः>{
- यदि num_sub == 0 च subver:#< भागः>{
- flag = 1
- fprintf(rfp, "The Verb %s is Semantically Compatible With Subject if Verb Root means %s ", verptr.stem, verptr.base[m])
- यदि no_vsub: fprintf(rfp, "and %s is %s ", karmatch.specf, karmatch.base[m])#<\ भागः>
- अन्यथा :
- यदि subver == 0:#< भागः>{
- flag = 0
- fprintf(rfp, "The Verb %s is not compatible with the Subject ", verptr.word)#<\ भागः>
- अन्यथा : यदि num_sub च subver: #< भागः>{
- flag = 0
- fprintf(rfp, "The Verb %s is not compatible with Subject if %s is %s ", verptr.word, un_match.specf, un_match.stem)#<\ भागः>
- यदि krdflag: #< भागः>{
- यदि krdsuc == 1 च flag == 1: flag = 1
- यदि krdsuc == 0 वा flag == 0: flag = 0#<\ भागः>#<\ भागः>
- अन्यथा : यदि Naflag == 1: flag = 1#<\ भागः>
- यदि verptr.no_base > 1: #< भागः>{
- afppos = ftell
- (afp)
- y = Sabdabodha(afp, sfp, rfp, firstptr, sent, flag, y, pos, Saflag, verptr.base[m], m)
- fseek(afp, afppos, 0)
- pos = ftell(rfp)
- fseek(rfp, pos, 0)#<\ भागः>#<\ भागः>
- यदि verptr.no_base == m + 1 च verptr.no_base > 1:
- #< भागः>{
- यदा( !feof(afp)):
- #< भागः>{
- fgets(line, 499, afp)
- यदि line[0] == "-": निर्गमः#<\ भागः>#<\ भागः>#<\ भागः>
- यदि verptr.next == NULL: निर्गमः
- अन्यथा :verptr = verptr.next#<\ भागः>#<\ भागः>#<\ भागः>
- srecord = srecord.next#<\ भागः>
- यदि flag == 1:fprintf(rfp, "
- The Sentence is Semantically Compatible")
- अन्यथा :fprintf(rfp, "
- The Sentence is Semantically Not Compatible")
- fprintf(rfp, "
- -------------------
- ")
- यदि fshtptr != NULL: #< भागः>{
- shrvib = fshtptr
- tshrvib = shrvib
- यदा(fshtptr.next != NULL):
- #< भागः>{
- यदा(shrvib.next != NULL):
- #< भागः>{
- tshrvib = shrvib
- shrvib = shrvib.next#<\ भागः>
- free(shrvib.specf)
- free(shrvib.word)
- प्रतिi अंतरे राजिः (0, shrvib.no_base):
- #< भागः>{
- free(shrvib.base[i])
- free(shrvib.code[i])#<\ भागः>
- free(shrvib)
- tshrvib.next = NULL
- shrvib = fshtptr#<\ भागः>
- free(shrvib.specf)
- free(shrvib.word)
- प्रतिi अंतरे राजिः (0, fshtptr.no_base):
- #< भागः>{
- free(fshtptr.base[i])
- free(fshtptr.code[i])#<\ भागः>
- free(fshtptr)#<\ भागः>
- Process finished with exit code 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement