Welcome to BJEX
Programming Language
A modern, beginner-friendly interpreted language built entirely from scratch in Java. Hand-written Lexer, Parser, AST, and Interpreter — zero external dependencies.
How BJEX Works
Why Choose BJEX?
Fast Interpretation Engine
Direct AST-walking interpreter with efficient runtime environment. Code executes immediately — no compilation step needed.
Clean, Readable Syntax
Python-like readability combined with C-style familiarity. New programmers can read BJEX code almost like plain English.
Rich Built-in Library
Arrays, dictionaries, matrices, file I/O, string utilities, type checking, time functions, and range generation — all built-in.
Exception Handling
Full try / exception / finally support. Catch specific error types like ValueError and NameError just like professional languages.
Module System
Import your own .bjex modules to keep code organized and reusable. Modular programming from day one.
Built for Learning
BJEX teaches you real programming concepts: recursion, data structures, file handling, scoping, and exception management — with zero frustration.
See BJEX in Action
// Variables — no type declarations needed
x = 42;
name = "BJEX";
flag = true;
// Functions with recursion support
func factorial(n) {
if (n <= 1) { return 1; }
return n * factorial(n - 1);
}
// Arrays & built-in operations
arr = array(1, 2, 3);
append(arr, 4);
print("Array:", arr);
// Exception handling
try {
result = 10 / 0;
} exception(ValueError) {
print("Caught:", "Division by zero!");
} finally {
print("Factorial(5):", factorial(5));
}
// File I/O
writefile("output.txt", "Hello from BJEX!");
print(readfile("output.txt"));
🎯 Quick Start
Write your first BJEX program in under 60 seconds.
// Step 1 — Save this as hello.bjex
name = input("Enter your name: ");
print("Hello,", name);
print("Welcome to BJEX!");
// Step 2 — Run it
// Use BjexIde to Open your file or write code, and then click Run button.
Want to learn more? Read the full documentation →