v1.0.0 — Now Available

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.

17+ Language Features
100% Pure Java
0 External Dependencies
.bjex File Extension

How BJEX Works

📄 Source Code 🔬 Lexer 🔢 Tokens 🌳 Parser 🌿 AST ⚙️ Interpreter ✅ Output

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

hello_world.bjex
// 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 →