This is official repository for bhai-lang.
Bhai lang is a toy programming language written in Typescript.
npm i -g bhailang
test.bhai
)hi bhai
bol bhai "Hello bhai";
bye bhai
bhailang test.bhai
hello bhai
hi bhai
is the entrypoint for the program and all program must end with bye bhai
. Anything outside of it will be ignored.
This will be ignored
hi bhai
// Write code here
bye bhai
This too
Variables can be declared using bhai ye hai
.
hi bhai
bhai ye hai a = 10;
bhai ye hai b = "two";
bhai ye hai c = 15;
a = a + 1;
b = 21;
c *= 2;
bye bhai
Numbers and strings are like other languages. Null values can be denoted using nalla
. sahi
and galat
are the boolean values.
hi bhai
bhai ye hai a = 10;
bhai ye hai b = 10 + (15*20);
bhai ye hai c = "two";
bhai ye hai d = 'ok';
bhai ye hai e = nalla;
bhai ye hai f = sahi;
bhai ye hai g = galat;
bye bhai
Use bol bhai
to print anything to console.
hi bhai
bol bhai "Hello World";
bhai ye hai a = 10;
{
bhai ye hai b = 20;
bol bhai a + b;
}
bol bhai 5, 'ok', nalla , sahi , galat;
bye bhai
Bhailang supports if-else-if ladder construct , agar bhai
block will execute if condition is sahi
, otherwise one of the subsequently added nahi to bhai
blocks will execute if their respective condition is sahi
, and the warna bhai
block will eventually execute if all of the above conditions are galat
```
hi bhai
bhai ye hai a = 10;
agar bhai (a < 20) {
bol bhai "a is less than 20";
} nahi to bhai ( a < 25 ) {
bol bhai "a is less than 25";
} warna bhai {
bol bhai "a is greater than or equal to 25";
}
bye bhai
```
Statements inside jab tak bhai
blocks are executed as long as a specified condition evaluates to sahi. If the condition becomes galat
, statement within the loop stops executing and control passes to the statement following the loop. Use bas kar bhai
to break the loop and agla dekh bhai
to continue within loop.
You can explore abstract syntax tree(AST) of bhailang here.