Language Reference

Complete guide to IndoriLang syntax, keywords, and features.

File Extension

IndoriLang files use the .il extension.

Comments

indori
# This is a comment

Variables & Assignment

indori
# Variables
kaam x laa_re 10;
kaam name laa_re "Indori";

kaam x laa_re 10 declares a variable x with value 10.

Data Types

  • Numbers - Integers only (e.g., 10, 42)
  • Strings - Single or double quotes (e.g., "Hello")
  • Booleans - bilkul_sahi (true) or ghapla_hai (false)
  • Arrays - [1, 2, 3]
  • Objects - { key: value }

Conditionals

indori
# If-else
agar_re (age >= 18) {
  bhiya_bol("Adult ho re!");
} warna_re {
  bhiya_bol("Baccha hai!");
}

Loops

indori
# While loop
kaam i laa_re 0;
jabtak_re (i < 5) {
  bhiya_bol("Count: " + i);
  i = i + 1;
}

# For loop
kaam j laa_re 0;
ghuma_re (j; j < 3; j = j + 1) {
  bhiya_bol("For: " + j);
}

# Do-while
kaam k laa_re 0;
jabtak_re_kar {
  bhiya_bol("Do-while: " + k);
  k = k + 1;
} (k < 2);

Functions

indori
# Functions
bhiya_ka greet(name) {
  de_re "Ram Ram " + name + "!";
}

bhiya_ka add(a, b) {
  de_re a + b;
}

bhiya_bol(greet("bhiya"));
bhiya_bol("Sum: " + add(5, 3));

bhiya_ka declares a function, and de_re returns a value.

Arrays

indori
# Arrays
jama_re fruits = ["apple", "banana", "orange"];
kaam first laa_re nikaal_re(fruits, 0);
kaam count laa_re ketlu_re(fruits);

Use nikaal_re(arr, index) to access elements and ketlu_re(arr) for length.

Objects

indori
# Objects
naksha_re person = {
  naam: "Raju",
  age: 25,
  city: "Indore"
};

kaam name laa_re dikha_re(person, "naam");
badal_re(person, "age", 26);

Use dikha_re(obj, "key") to access properties and badal_re(obj, "key", value) to update them.

Error Handling

indori
# Try-catch-finally
bhiya_try {
  kaam result laa_re 10 / 0;
} bhiya_catch(e) {
  bhiya_gadbad("Error: " + e);
} bhiya_finally {
  bhiya_bol("Always executes");
}

Operators

indori
# Logical operators
agar_re (x > 5 ane_re y < 10) {
  bhiya_bol("Both true");
}

agar_re (nako_re isAdult) {
  bhiya_bol("Not adult");
}

Arithmetic: +, -, *, /, ++, --

Comparison: ==, !=, <, <=, >, >=

Logical: ane_re (AND), ya_re (OR), nako_re (NOT)

Console & Output

indori
bhiya_bol("Normal log");     # console.log
bhiya_chitav("Warning log");  # console.warn
bhiya_gadbad("Error log");    # console.error
bhiya_suna("Alert message");  # alert

Easter Eggs

indori
poha_time();      # "Poha time ho gaya re 😎"
jalebi_mode();    # Decorates logs with 🍬
rajwada_mode();   # Logs with 👑 emojis
sarafa_night();   # Alert "Sarafa chal reha hai 🌙"