Skip to content

jyotishankar04/odialang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

45 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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!

npm version License: MIT Node.js Version

# 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/odialang

Create Your First Program

Create hello.odia:

dekha "Namaskar, Odia!"
dekha "Welcome to Odialang!"

Run It

odia hello.odia

Output:

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 .odia files
  • 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-setup

Or 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-vscode

Other Editors:

  • Sublime Text: Copy syntax-highlighting/textmate/odialang.tmLanguage.json
  • Monaco Editor: Import syntax-highlighting/monaco/odialang-monaco.js
  • GitHub: Add *.odia linguist-language=Odialang to .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 .odia files and execute directly
  • ๐Ÿ” Debug Tools - View tokens and AST for learning
  • ๐Ÿ“ฆ Arrays - Create, index, and modify arrays with .length support

๐Ÿ’ก 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: " + isHappy

Conditionals

dhara marks = 85

jadi marks >= 60 tahale
  dekha "You passed!"
nahele
  dekha "You failed"
sesa

Loops

# 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
sesa

Functions

karya add(a, b)
  fera a + b
sesa

dhara result = add(10, 20)
dekha "Sum: " + result

Arrays

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

๐Ÿ“„ 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!

About

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!

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors