A programming language powered by Tamil cinema comedy dialogues.

Requires Python >= 3.8.1
tharunpp run-file program.tpp # run a program
tharunpp shell # interactive REPL
tharunpp tokenize program.tpp # show tokens
tharunpp version # show version
Every program must start with VANAKKAM DA MAPLA and end with NANDRI VANNAKAM.
VANAKKAM DA MAPLA
SOLLU "Vanakkam da mapla!" ;
NANDRI VANNAKAM
| Purpose |
Keyword |
| Program start |
VANAKKAM DA MAPLA |
| Program end |
NANDRI VANNAKAM |
| Comment |
COMMENT PANDRAN |
| Purpose |
Keyword |
Example |
| Declare variable |
VAA |
VAA x = 10 ; |
| True |
SARI |
VAA flag = SARI ; |
| False |
THAPPU |
VAA flag = THAPPU ; |
| Null |
ONNUMEY ILLA |
VAA x = ONNUMEY ILLA ; |
| Purpose |
Keyword |
Example |
| Print |
SOLLU |
SOLLU "dei!" ; |
| Debug print |
KALAAI |
KALAAI x ; |
| Warning print |
IRUNGH BHAII |
IRUNGH BHAII "careful da!" ; |
| Purpose |
Symbol |
| Arithmetic |
+ - * / % |
| Comparison |
== != > < >= <= |
| AND |
MATUM |
| OR |
ILLA |
| NOT |
VENDAM |
| Purpose |
Keyword |
Example |
| If |
ADHAVUDHU |
ADHAVUDHU x > 5 : |
| Else if |
ILLA ADHAVUDHU |
ILLA ADHAVUDHU x == 5 : |
| Else |
ILLAATI |
ILLAATI : |
| End block |
DA |
DA |
| While loop |
TICKTOCK TICKTOCK |
TICKTOCK TICKTOCK x < 10 : |
| For loop |
FIRST_LA |
FIRST_LA i IRUNDHU 0 VARAI 5 : |
| Break |
EZHUNDHIRI |
EZHUNDHIRI ; |
| Continue |
ADUTHADUTHU |
ADUTHADUTHU ; |
| Purpose |
Keyword |
Example |
| Define function |
ENDRA SHANMUGHAM |
ENDRA SHANMUGHAM add(a, b) : |
| End function |
VELI JOWW |
VELI JOWW |
| Call function |
VAA MA MINNAL |
VAA MA MINNAL add(1, 2) ; |
| Return |
INDHAA LEY PATHUKO |
INDHAA LEY PATHUKO x + y ; |
| Purpose |
Keyword |
Example |
| Try |
PAAKALAM |
PAAKALAM : |
| Catch |
PUDRA IVANA |
PUDRA IVANA err : |
| Throw |
AIYAYO |
AIYAYO "something broke!" ; |
| Assert |
NIL GAVANI SEL |
NIL GAVANI SEL x > 0 ; |
| Purpose |
Keyword |
Example |
| Create list |
PATTI POTTU |
VAA nums = PATTI POTTU [1, 2, 3] ; |
| Append |
ULLAYE POD |
ULLAYE POD nums 4 ; |
| Get by index |
EDUTHU KO |
VAA x = EDUTHU KO nums [0] ; |
| Length |
YEVLO IRUKU |
SOLLU YEVLO IRUKU nums ; |
| Purpose |
Keyword |
Example |
| Import module |
MASS |
MASS "math" ; |
| Pass / no-op |
THALA_OK |
THALA_OK ; |
VANAKKAM DA MAPLA
SOLLU "Vanakkam da mapla!" ;
NANDRI VANNAKAM
VANAKKAM DA MAPLA
VAA x = 10 ;
VAA y = 3 ;
SOLLU x + y ;
SOLLU x * y ;
SOLLU x - y ;
NANDRI VANNAKAM
VANAKKAM DA MAPLA
VAA score = 85 ;
ADHAVUDHU score >= 90 :
SOLLU "Grade A da!" ;
ILLA ADHAVUDHU score >= 80 :
SOLLU "Grade B da!" ;
ILLA ADHAVUDHU score >= 70 :
SOLLU "Grade C da!" ;
ILLAATI :
SOLLU "Fail aagitanga da..." ;
DA
NANDRI VANNAKAM
VANAKKAM DA MAPLA
VAA i = 0 ;
TICKTOCK TICKTOCK i < 5 :
SOLLU i ;
VAA i = i + 1 ;
DA
NANDRI VANNAKAM
VANAKKAM DA MAPLA
FIRST_LA i IRUNDHU 0 VARAI 5 :
SOLLU i ;
DA
NANDRI VANNAKAM
VANAKKAM DA MAPLA
ENDRA SHANMUGHAM add(a, b) :
INDHAA LEY PATHUKO a + b ;
VELI JOWW
VAA result = VAA MA MINNAL add(10, 20) ;
SOLLU result ;
NANDRI VANNAKAM
VANAKKAM DA MAPLA
PAAKALAM :
AIYAYO "something went wrong da!" ;
PUDRA IVANA err :
SOLLU err ;
DA
NANDRI VANNAKAM
VANAKKAM DA MAPLA
VAA nums = PATTI POTTU [1, 2, 3] ;
ULLAYE POD nums 4 ;
SOLLU YEVLO IRUKU nums ;
VAA first = EDUTHU KO nums [0] ;
SOLLU first ;
NANDRI VANNAKAM
Tharunpp gives Tamil-flavoured error messages:
| Error |
Message |
| Type error |
Aiyayo! list venum da, int koduthutta |
| Undefined variable |
Dei! 'x' yaaruda avan? Declare pannada |
| Division by zero |
SUPERSTAR kooda zero-a divide panna maatan bro |
| Syntax error |
BHAI enna da idhu? Syntax puriyalai |
MIT — see LICENSE for details.
Made with ❤️ in Tamil Nadu 🎬