A complete, production-ready transpiler that converts Sanskrit programming language to Python code. This project enables developers to write fully functional programs using Sanskrit keywords and syntax.
- Complete Transpiler: Converts Sanskrit code to Python seamlessly
- 80+ Sanskrit Keywords: Comprehensive keyword mapping for all programming constructs
- Full Python Support: Classes, functions, loops, conditionals, imports, and more
- Advanced Features: Context managers, decorators, lambda functions, exception handling
- Production Ready: Reliable execution model with proper error handling
- Easy to Use: Simple command-line interface with multiple demo examples
No external dependencies required! Uses only Python standard library.
# Clone or download the project
git clone https://github.com/SanketKumarKar/Sanskrit-As-Coding-Language.git
cd Sanskrit-As-Coding-Language
# Run the transpiler directly
python transpiler.py
# Or run one of the demos
python demo.py
python complete_demo.py
python advanced_demo.py
Create a file with Sanskrit code:
рдЯрд┐рдкреНрдкрдгреА: My first Sanskrit program
рдкреНрд░рджрд░реНрд╢рдп('рдирдорд╕реНрддреЗ рд╡рд┐рд╢реНрд╡!')
рдЕрдВрдХ = 42
рдпрджрд┐ рдЕрдВрдХ > 10:
рдкреНрд░рджрд░реНрд╢рдп('Number is greater than 10')
Sanskrit | Python | Description |
---|---|---|
рдкреНрд░рджрд░реНрд╢рдп |
print |
Display output |
рдпрджрд┐ |
if |
If condition |
рдЕрдиреНрдпрдерд╛ |
else |
Else condition |
рдЕрдиреНрдп |
elif |
Else if condition |
рдХреЗ рд▓рд┐рдпреЗ |
for |
For loop |
рдХреЗрд╡рд▓ |
while |
While loop |
рдкрд░рд┐рднрд╛рд╖рд┐рдд |
def |
Define function |
рд▓реМрдЯрд╛рдПрдБ |
return |
Return value |
рдЯрд┐рдкреНрдкрдгреА: |
# |
Comment |
рдЯрд┐рдкреНрдкрдгреА: Variables and data types
рдЕрдВрдХ = 10 # number = 10
рд╕рдВрдЦреНрдпрд╛рдПрдВ = [1, 2, 3, 4] # numbers = [1, 2, 3, 4]
рдирд╛рдо = "рд╕рдВрд╕реНрдХреГрдд" # name = "Sanskrit"
рд╕рддреНрдп_рдорд╛рди = рд╕рддреНрдп # truth_value = True
рдЯрд┐рдкреНрдкрдгреА: If-else statements
рдпрджрд┐ рдЕрдВрдХ > 5:
рдкреНрд░рджрд░реНрд╢рдп('Greater than 5')
рдЕрдиреНрдп рдЕрдВрдХ == 5:
рдкреНрд░рджрд░реНрд╢рдп('Equal to 5')
рдЕрдиреНрдпрдерд╛:
рдкреНрд░рджрд░реНрд╢рдп('Less than 5')
рдЯрд┐рдкреНрдкрдгреА: For loop
рдХреЗ рд▓рд┐рдпреЗ i рдореЗрдВ рд╢реНрд░реЗрдгреА(5):
рдкреНрд░рджрд░реНрд╢рдп('Number:', i)
рдЯрд┐рдкреНрдкрдгреА: While loop
рдЧрд┐рдирддреА = 0
рдХреЗрд╡рд▓ рдЧрд┐рдирддреА < 3:
рдкреНрд░рджрд░реНрд╢рдп('Count:', рдЧрд┐рдирддреА)
рдЧрд┐рдирддреА = рдЧрд┐рдирддреА + 1
рдЯрд┐рдкреНрдкрдгреА: Function definition
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧреБрдгрд╛(a, b):
рдкрд░рд┐рдгрд╛рдо = a * b
рд▓реМрдЯрд╛рдПрдБ рдкрд░рд┐рдгрд╛рдо
result = рдЧреБрдгрд╛(5, 3)
рдкреНрд░рджрд░реНрд╢рдп('Result:', result)
рдЯрд┐рдкреНрдкрдгреА: Class definition
рд╡рд░реНрдЧ рд╡реНрдпрдХреНрддрд┐:
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЖрд░рдВрдн(рд╕реНрд╡рдпрдВ, рдирд╛рдо, рдЖрдпреБ):
рд╕реНрд╡рдпрдВ.рдирд╛рдо = рдирд╛рдо
рд╕реНрд╡рдпрдВ.рдЖрдпреБ = рдЖрдпреБ
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрд░рд┐рдЪрдп(рд╕реНрд╡рдпрдВ):
рдкреНрд░рджрд░реНрд╢рдп(f'рдореЗрд░рд╛ рдирд╛рдо {рд╕реНрд╡рдпрдВ.рдирд╛рдо} рд╣реИ рдФрд░ рдЖрдпреБ {рд╕реНрд╡рдпрдВ.рдЖрдпреБ} рд╣реИ')
рд╡реНрдпрдХреНрддрд┐1 = рд╡реНрдпрдХреНрддрд┐('рд░рд╛рдо', 25)
рд╡реНрдпрдХреНрддрд┐1.рдкрд░рд┐рдЪрдп()
рдЯрд┐рдкреНрдкрдгреА: Import statements
рдЖрдпрд╛рдд math
рдЖрдпрд╛рдд sqrt рд╕реЗ math
рд╕реЗ datetime рдЖрдпрд╛рдд datetime
square_root = sqrt(16)
рдкреНрд░рджрд░реНрд╢рдп('Square root:', square_root)
рдЯрд┐рдкреНрдкрдгреА: File handling with context manager
рдЖрд╕рдкрд╛рд╕ рдЦреЛрд▓реЗрдВ('data.txt', 'w') рдЬреИрд╕рд╛ рдлрд╝рд╛рдЗрд▓:
рдлрд╝рд╛рдЗрд▓.write('рд╕рдВрд╕реНрдХреГрдд рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛!')
рдЯрд┐рдкреНрдкрдгреА: Try-except blocks
рдХреЛрд╢рд┐рд╢:
рдкрд░рд┐рдгрд╛рдо = 10 / 0
рдкрдХрдбрд╝реЗрдВ ZeroDivisionError:
рдкреНрд░рджрд░реНрд╢рдп('Cannot divide by zero!')
рдЕрдВрддрддрдГ:
рдкреНрд░рджрд░реНрд╢рдп('Cleanup completed')
square = рдЧреБрдордирд╛рдо x: x * x
рдкреНрд░рджрд░реНрд╢рдп(square(5)) # Output: 25
squares = [x * x рдХреЗ рд▓рд┐рдпреЗ x рдореЗрдВ рд╢реНрд░реЗрдгреА(5)]
рдкреНрд░рджрд░реНрд╢рдп(squares) # Output: [0, 1, 4, 9, 16]
@staticmethod
рдкрд░рд┐рднрд╛рд╖рд┐рдд helper_function():
рд▓реМрдЯрд╛рдПрдБ "Helper"
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ 5 > 3 # Assert statement
sanskrit_lang/
тФЬтФАтФА transpiler.py # Main Sanskrit-to-Python transpiler
тФЬтФАтФА demo.py # Basic usage examples
тФЬтФАтФА complete_demo.py # Comprehensive feature demo
тФЬтФАтФА advanced_demo.py # Advanced features demo
тФЬтФАтФА requirements.txt # Dependencies (none required)
тФЬтФАтФА README.md # This file
тФФтФАтФА FINAL_SUCCESS_REPORT.md # Detailed project documentation
- Input: Write code using Sanskrit keywords
- Transpilation: The transpiler converts Sanskrit keywords to Python
- Execution: The resulting Python code is executed
- Output: See the results of your Sanskrit program
# Example transpilation:
# Sanskrit: рдкреНрд░рджрд░реНрд╢рдп('рдирдорд╕реНрддреЗ')
# Python: print('рдирдорд╕реНрддреЗ')
python demo.py
python complete_demo.py
python advanced_demo.py
Click to see all 80+ supported keywords
Category | Sanskrit | Python | Example |
---|---|---|---|
Output | рдкреНрд░рджрд░реНрд╢рдп | рдкреНрд░рджрд░реНрд╢рдп('Hello') | |
Input | рдЗрдирдкреБрдЯ | input | рдирд╛рдо = рдЗрдирдкреБрдЯ('Name:') |
Conditionals | рдпрджрд┐ | if | рдпрджрд┐ x > 5: |
рдЕрдиреНрдпрдерд╛ | else | рдЕрдиреНрдпрдерд╛: | |
рдЕрдиреНрдп | elif | рдЕрдиреНрдп x < 0: | |
Loops | рдХреЗ рд▓рд┐рдпреЗ | for | рдХреЗ рд▓рд┐рдпреЗ i рдореЗрдВ рд╢реНрд░реЗрдгреА(10): |
рдХреЗрд╡рд▓ | while | рдХреЗрд╡рд▓ x > 0: | |
рдореЗрдВ | in | рдХреЗ рд▓рд┐рдпреЗ item рдореЗрдВ рд╕реВрдЪреА: | |
рд╢реНрд░реЗрдгреА | range | рд╢реНрд░реЗрдгреА(1, 10) | |
Control | рд░реБрдХреЗрдВ | break | рд░реБрдХреЗрдВ |
рдЬрд╛рд░реА рд░рдЦреЗрдВ | continue | рдЬрд╛рд░реА рд░рдЦреЗрдВ | |
рдкрд╛рд╕ | pass | рдкрд╛рд╕ | |
Functions | рдкрд░рд┐рднрд╛рд╖рд┐рдд | def | рдкрд░рд┐рднрд╛рд╖рд┐рдд рдореЗрд░рд╛_рдлрдВрдХреНрд╢рди(): |
рд▓реМрдЯрд╛рдПрдБ | return | рд▓реМрдЯрд╛рдПрдБ рдкрд░рд┐рдгрд╛рдо | |
рдЙрдкрдЬрд╛рдПрдБ | yield | рдЙрдкрдЬрд╛рдПрдБ рдорд╛рди | |
Classes | рд╡рд░реНрдЧ | class | рд╡рд░реНрдЧ рдореЗрд░рд╛_рдХреНрд▓рд╛рд╕: |
рд╕реНрд╡рдпрдВ | self | рд╕реНрд╡рдпрдВ.attribute | |
рдЖрд░рдВрдн | init | рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЖрд░рдВрдн(рд╕реНрд╡рдпрдВ): | |
Data Types | рд╕реВрдЪреА | list | рд╕реВрдЪреА([1, 2, 3]) |
рд╢рдмреНрджрдХреЛрд╢ | dict | рд╢рдмреНрджрдХреЛрд╢({'key': 'value'}) | |
рд╕реЗрдЯ | set | рд╕реЗрдЯ({1, 2, 3}) | |
рдЯрдкрд▓ | tuple | рдЯрдкрд▓((1, 2, 3)) | |
Imports | рдЖрдпрд╛рдд | import | рдЖрдпрд╛рдд math |
рд╕реЗ | from | рд╕реЗ math рдЖрдпрд╛рдд sqrt | |
рдЬреИрд╕рд╛ | as | рдЖрдпрд╛рдд numpy рдЬреИрд╕рд╛ np | |
Boolean | рд╕рддреНрдп | True | рдорд╛рди = рд╕рддреНрдп |
рдЕрд╕рддреНрдп | False | рдорд╛рди = рдЕрд╕рддреНрдп | |
рдФрд░ | and | x > 0 рдФрд░ x < 10 | |
рдпрд╛ | or | x == 5 рдпрд╛ x == 10 | |
рдирд╣реАрдВ | not | рдирд╣реАрдВ рд╢рд░реНрдд | |
Exception | рдХреЛрд╢рд┐рд╢ | try | рдХреЛрд╢рд┐рд╢: |
рдкрдХрдбрд╝реЗрдВ | except | рдкрдХрдбрд╝реЗрдВ Exception: | |
рдЕрдВрддрддрдГ | finally | рдЕрдВрддрддрдГ: | |
рдлреЗрдВрдХреЗрдВ | raise | рдлреЗрдВрдХреЗрдВ ValueError | |
Context | рдЖрд╕рдкрд╛рд╕ | with | рдЖрд╕рдкрд╛рд╕ рдЦреЛрд▓реЗрдВ('file.txt'): |
рдЦреЛрд▓реЗрдВ | open | рдЦреЛрд▓реЗрдВ('file.txt', 'r') | |
Memory | рдбреЗрд▓ | del | рдбреЗрд▓ variable |
рд╡реИрд╢реНрд╡рд┐рдХ | global | рд╡реИрд╢реНрд╡рд┐рдХ counter | |
рдЕрд╕реНрдерд╛рдиреАрдп | nonlocal | рдЕрд╕реНрдерд╛рдиреАрдп x | |
Special | рдЧреБрдордирд╛рдо | lambda | рдЧреБрдордирд╛рдо x: x * 2 |
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ | assert | рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ x > 0 | |
рдЯрд┐рдкреНрдкрдгреА: | # | рдЯрд┐рдкреНрдкрдгреА: This is a comment |
- Add new Sanskrit keywords to the
sanskrit_to_python
dictionary - Test your changes with the demo files
- Update this README with new examples
- Ensure all existing functionality still works
This project is open source. Feel free to use, modify, and distribute.
тЬЕ Complete transpiler functionality
тЬЕ 80+ Sanskrit keywords supported
тЬЕ All Python features available
тЬЕ Production-ready code
тЬЕ Comprehensive documentation
тЬЕ Multiple demo examples
ЁЯХЙя╕П рд╕реНрд╡рд╛рдЧрддрдореН (Welcome) to Sanskrit Programming! ЁЯХЙя╕П
Happy coding in Sanskrit! / рд╕рдВрд╕реНрдХреГрдд рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВ!