This provides a python package to analyze Tamil poems and find out the poem types.
இயற்றமிழ் என்பது நினைத்த கருத்தை உணர்த்துவதையே நோக்கமாகக் கொண்டு நடப்பது, பேச்சும், உரையும் செய்யுளும் இதில் அடங்கும். இயற்றமிழ்ச் செய்யுளை இயற்பா என்பர்.
இசைத்தமிழ் என்பது இசையின்பம் அளித்தலையே முதன்மை நோக்கமாகக் கொண்டு நடப்பது; சொற்பொருள் இன்பங்களையும் கொடுக்கக் கூடியது. இசைத்தமிழ் நூல்கள்; தேவாரம், திருவாசகம், நாலாயிரப் பனுவலில் (நாலாயிர திவ்விய பிரபந்தம்) முதலாயிரம், பெரிய திருமொழி, திருவாய்மொழி ஆகியன; திருப்புகழ் முதலியன.
Tamil poems are of two types namely:
- இயற்பா
1.1 வெண்பா மற்றும் வெண்பாவினம்
1.2 ஆசிரியப்பா மற்றும் வெண்பாவினம்
1.3 வஞ்சிப்பா மற்றும் வெண்பாவினம்
1.4 கலிப்பா மற்றும் வெண்பாவினம்
1.5 மருட்பா (மருள் - மயக்கம்; கலத்தல். வெண்பாவும் ஆசிரியப்பாவும் கலந்து அமைவது) (Not Implemented) - இசைப்பா
2.1 வண்ணப்பா
2.2 சந்தப்பா
2.3 சிந்துப்பா (Not Implemented)
2.4 உருப்படிகள் (Not Implemented)
This package contains five classes namely Ezhuthu, Sol, Adi, Yiyarpaa and Yaappu:
- Ezhuthu:
This class accepts a Tamil character and analyzes the character types. Provides methods such as is_nedil(), is_kuril(), is_kutriyalugarm() etc. - Sol:
This class accepts a Tamil word (and calls internally Ezhuthu). Provides methods such as asaigaL() **Note: upper case L, thodai_matches(with_another_word_text) etc. - Adi:
This class accepts a Tamil sentence (and calls internally Sol). Provides methods such as sandha_ozhungu(), seer_thodai_words() etc. - Yiyarpa:
This class accepts a Tamil Poem (and calls internally Adi). Provides methods such as sandha_seergal(), thaLaigaL(), osaigaL(), vikarpam() etc. - Yaappu:
This class accepts a Tamil Poem (and calls internally Yiyarpa). Provides methods such as check_for_venpaa(), check_for_venpaavinam(), check_for_asiriyapaa() etc.
In addition it also accepts two optional arguments namely:
treat_aaydham_as_kuril=False/True and
treat_kutriyaligaram_as_otru=False/True
It provides a method analyze() with two optional arguments namely:
poem_type_enum and
get_individual_poem_analysis=False/True
##Usage
Sample code:
tp = Yaappu("மாதவா போதி வரதா வருளமலா \n"+
"பாதமே யோத சுரரைநீ - தீதகல \n"+
"மாயா நெறியளிப்பா யின்றன் பகலாச்சீர்த் \n"+
"தாயே யலகில்லா டாம்")
tp.analyze()
OR
paa_check,poem_analysis = tp.analyze(utils.POEM_TYPES.VENPA)
print('============================================')
print('POEM Results:',paa_check[1] + RULE_CHECK(paa_check[0]))
print('POEM Results:',paa_check[2])
print(tp.thaLaigaL())
print(tp.seergaL(True))
print(tp.asaigaL())
print(tp.asai_words())
============================================
POEM Results: பல விகற்ப நேரிசை வெண்பா ✔
POEM Results: வெண்பா யாப்பிலக்கண விதிகள்
✔ சீர் இலக்கணம் - ஈற்றடியின் ஈற்றுச்சீரைத் தவிர்த்து ஈரசைச்சீர்களும் காய்ச்சீர்களும் மட்டுமே பயின்று வருதல் வேண்டும்.( 100% ≥ 99% )
✔ தளை இலக்கணம் - வெண்டளைகள் மட்டுமே பயின்று வருதல் வேண்டும்.( 100% ≥ 99% )
✔ அடி இலக்கணம் - ஈற்றடி மூன்று சீர்களும் ஏனைய அடிகள் நான்கு சீர்களும் கொண்டிருத்தல் வேண்டும்.
✔ ஓசை இலக்கணம் - செப்பலோசை மிகுந்து வரும்.( 100% ≥ 99% )
✔ ஈற்றுச் சீர் இலக்கணம் - ஈற்றடியின் ஈற்றுச்சீர் நாள், மலர், காசு, பிறப்பு ஆகியவற்றுள் இருத்தல் வேண்டும். (டாம்)
✔ நேரிசை வெண்பா -இரண்டாவது அடியில் தனிச்சொல் எதுகை அமைவது (தீதகல)
பல விகற்ப நேரிசை வெண்பா
['இயற்சீர் வெண்டளை', 'இயற்சீர் வெண்டளை', 'இயற்சீர் வெண்டளை', 'வெண்சீர் வெண்டளை', 'இயற்சீர் வெண்டளை', 'இயற்சீர் வெண்டளை', 'இயற்சீர் வெண்டளை', 'வெண்சீர் வெண்டளை', 'இயற்சீர் வெண்டளை', 'வெண்சீர் வெண்டளை', 'இயற்சீர் வெண்டளை', 'வெண்சீர் வெண்டளை', 'இயற்சீர் வெண்டளை', 'வெண்சீர் வெண்டளை']
['கூவிளம்', 'தேமா', 'புளிமா', 'கருவிளங்காய்', 'கூவிளம்', 'தேமா', 'கருவிளம்', 'கூவிளங்காய்', 'தேமா', 'கருவிளங்காய்', 'தேமா', 'புளிமாங்காய்', 'தேமா', 'புளிமாங்காய்', 'நாள்']
['நேர்/நிரை', 'நேர்/நேர்', 'நிரை/நேர்', 'நிரை/நிரை/நேர்', 'நேர்/நிரை', 'நேர்/நேர்', 'நிரை/நிரை', 'நேர்/நிரை/நேர்', 'நேர்/நேர்', 'நிரை/நிரை/நேர்', 'நேர்/நேர்', 'நிரை/நேர்/நேர்', 'நேர்/நேர்', 'நிரை/நேர்/நேர்', 'நேர்']
['மா/தவா', 'போ/தி', 'வர/தா', 'வரு/ளம/லா', 'பா/தமே', 'யோ/த', 'சுர/ரைநீ', 'தீ/தக/ல', 'மா/யா', 'நெறி/யளிப்/பா', 'யின்/றன்', 'பக/லாச்/சீர்த்', 'தா/யே', 'யல/கில்/லா', 'டாம்']
There is a test code provided testing all classes and methods.
The main function also checks whether all 1330 thirukurals from thiukural.txt are of type குறள் வெண்பா