@devsuvam/odialang
v2.1.0
Published
A file-based, CLI-driven programming language with Odia (Oriya) keywords that compiles to JavaScript
Downloads
586
Maintainers
Readme
Odialang 🌸
A file-based, CLI-driven programming language with Odia (Oriya) keywords that compiles to JavaScript. Write code in your native language and run it anywhere!
# Welcome to Odialang!
dhara name = "World"
dekha "Hello, " + name + "!"
karya greet(person)
dekha "Namaskar, " + person + "!"
sesa
greet("Odia")🚀 Quick Start
Install
npm install -g @devsuvam/odialangCreate Your First Program
Create hello.odia:
dekha "Namaskar, Odia!"
dekha "Welcome to Odialang!"Run It
odia hello.odiaOutput:
Namaskar, Odia!
Welcome to Odialang!🎨 Syntax Highlighting (Auto-Installed!)
When you install @devsuvam/odialang, syntax highlighting is automatically set up for VSCode!
✅ What Happens Automatically
- VSCode Extension is copied to your extensions folder
- Restart VSCode to activate syntax highlighting for
.odiafiles - Works with all VSCode themes
🛠️ Manual Setup (if needed)
If automatic setup didn't work or you want to set up other editors:
# Run the interactive setup
npx odialang-setupOr manually:
VSCode:
# Extension is already installed! Just restart VSCode.
# If needed, reinstall:
cp -r node_modules/@devsuvam/odialang/syntax-highlighting/vscode-extension ~/.vscode/extensions/odialang-vscodeOther Editors:
- Sublime Text: Copy
syntax-highlighting/textmate/odialang.tmLanguage.json - Monaco Editor: Import
syntax-highlighting/monaco/odialang-monaco.js - GitHub: Add
*.odia linguist-language=Odialangto.gitattributes
📚 Documentation
| Document | Description | |----------|-------------| | 📖 Tutorial | Step-by-step guide for beginners | | 📋 Language Spec | Complete syntax and grammar reference | | 🤝 Contributing | How to contribute to the project | | 📝 Changelog | Version history and updates |
🎯 Features
- 🌏 Native Language - Program using familiar Odia words
- ⚡ Compiles to JavaScript - Runs on any Node.js platform
- 🛠️ CLI Interface - Simple commands for run, compile, and debug
- 📁 File-based - Write
.odiafiles and execute directly - 🔍 Debug Tools - View tokens and AST for learning
- 📦 Arrays - Create, index, and modify arrays with
.lengthsupport
💡 Language Keywords
| Odia | English | Usage |
|------|---------|-------|
| dhara | let | Variable declaration |
| dekha | print | Output to console |
| jadi | if | Conditional statement |
| tahale | then | If-block start |
| nahele | else | Else block |
| jebe | while | While loop |
| aarambha | for | For loop start |
| ru | from/to | Range in for loop |
| karya | function | Function definition |
| fera | return | Return value |
| sesa | end | Block terminator |
| sata | true | Boolean true |
| micha | false | Boolean false |
| ruha | break | Break out of loop |
| chala | continue | Skip to next loop iteration |
📖 Example Programs
Variables and Printing
dhara name = "Rama"
dhara age = 25
dhara isHappy = sata
dekha "Name: " + name
dekha "Age: " + age
dekha "Happy: " + isHappyConditionals
dhara marks = 85
jadi marks >= 60 tahale
dekha "You passed!"
nahele
dekha "You failed"
sesaLoops
# While loop
dhara count = 1
jebe count <= 5
dekha "Count: " + count
count = count + 1
sesa
# For loop
aarambha i = 1 ru 5
dekha "Number: " + i
sesaFunctions
karya add(a, b)
fera a + b
sesa
dhara result = add(10, 20)
dekha "Sum: " + resultArrays
dhara nums = [10, 20, 30, 40, 50]
dekha "Length: " + nums.length
dekha "First: " + nums[0]
nums[0] = 100
dekha "Updated: " + nums
dhara matrix = [[1, 2], [3, 4]]
dekha "Nested: " + matrix[0][1]See examples/ folder for more programs.
🖥️ CLI Commands
# Run a .odia file
odia <file.odia>
odia run <file.odia>
# Compile to JavaScript
odia compile <file.odia> # Outputs file.js
odia compile <file.odia> <output.js> # Custom output name
# Debug commands
odia tokens <file.odia> # View tokens
odia ast <file.odia> # View AST
# Help
odia --help🏗️ Installation from Source
# Clone the repository
git clone https://github.com/jyotishankar04/odialang
cd odialang
# Install dependencies
npm install
# Build
npm run build
# Link globally
npm link
# Test
odia --help🧑💻 Development
# Build project
npm run build
# Clean build files
npm run clean
# Development mode
npm run dev🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Quick Contributions
- 🐛 Report bugs
- 💡 Suggest features
- 📝 Improve docs
- 🌐 Translate to other languages
📄 License
MIT © 2026 Odialang Contributors
🙏 Acknowledgments
- Built for the Odia-speaking community
- Inspired by the desire to make programming accessible in regional languages
- Powered by TypeScript and Node.js
Made with ❤️ for Odia programmers 🇮🇳
⭐ Star this repo if you find it useful!
