Releases: sayedrisat/bnscript
BN Script v0.1.0 Alpha - First Public Compiler Release
🚀 BN Script v0.1.0 Alpha — First Public Compiler Release
BN Script is an automation-first programming language that compiles to JavaScript.
Today marks the first public alpha release of BN Script, featuring a complete compiler pipeline, runtime system, command-line interface, and function support.
This release focuses on building a solid foundation for future language features while keeping the architecture simple, testable, and extensible.
✨ What's Included
Compiler Pipeline
BN Script now includes a complete compiler frontend:
- Lexer
- Parser
- Abstract Syntax Tree (AST)
- Semantic Analyzer
- JavaScript Generator
Runtime
Built-in runtime helpers:
- File Operations
- Environment Variables
- HTTP Requests
- Wait/Sleep Utilities
- Runtime Error Handling
CLI
Validate, build, and run BN Script programs directly from the command line.
bn check app.bn
bn build app.bn
bn run app.bn🏗 Architecture
BN Script follows a real compiler architecture:
BN Script Source
↓
Lexer
↓
Parser
↓
Semantic Analyzer
↓
JavaScript Generator
↓
Runtime
↓
CLI
Unlike simple transpilers based on string replacement, BN Script uses structured parsing and semantic analysis before generating JavaScript.
🔥 Supported Features
Current Alpha supports:
Variables
dhori name = "Risat"
Constants
sthir version = 0.1
Output
dekhi "Hello World"
Conditionals
jodi score >= 90 {
dekhi "Excellent"
} nahole {
dekhi "Keep Going"
}
Functions
kaj greet(name) {
ferot "Hello " + name
}
dekhi greet("Risat")
Literals
sotti
mittha
khali
Operators
+
-
*
/
%
**
==
!=
>
<
>=
<=
ebong
othoba
na
🎉 New in Alpha
Stage 7 Function Support has been completed.
Example:
kaj greet(name) {
ferot "Hello " + name
}
dekhi greet("Risat")
Output:
Hello RisatSupported:
- Function declarations (
kaj) - Return statements (
ferot) - Function parameters
- Function calls
📝 Example Program
BN Script
kaj greet(name) {
ferot "Hello " + name
}
dekhi greet("Risat")
Generated JavaScript
function greet(name) {
return "Hello " + name;
}
console.log(greet("Risat"));🧪 Testing
This release ships with:
- Unit Tests
- Compiler Tests
- Runtime Tests
- CLI Tests
- Integration Tests
103+ automated tests passing
🗺 Roadmap
v0.2
- Assignment Expressions
- Variable Reassignment
- Compound Assignment Operators
v0.3
- While Loops
- For Loops
v0.4
- Arrays
- Objects
v0.5
- Imports / Exports
- Modules
Future
- AI Runtime Helpers
- REPL
- Language Server (LSP)
- VS Code Extension
- Package Ecosystem
⚠ Alpha Limitations
The following features are not yet available:
- Assignment Expressions
- Loops
- Arrays
- Objects
- Imports / Exports
- Async / Await
- Package Manager
Function support is now available, including:
kajfunction declarationsferotreturn statements- Function parameters
- Function calls
This release is intended for experimentation, feedback, and language-design discussions.
🤝 Contributing
Contributions, feedback, bug reports, and language-design discussions are welcome.
If you're interested in:
- Compiler Development
- Programming Language Design
- JavaScript Tooling
- Open Source Developer Tools
Feel free to open an issue or submit a pull request.
⭐ Support The Project
If you find BN Script interesting:
- Star the repository
- Report bugs
- Suggest features
- Share the project with other developers
Repository:
https://github.com/sayedrisat/bnscript
Release:
https://github.com/sayedrisat/bnscript/releases/tag/v0.1.0-alpha.0
🚀 Current Status
✅ Lexer
✅ Parser
✅ AST
✅ Semantic Analyzer
✅ JavaScript Generator
✅ Runtime System
✅ CLI
✅ Function Support
✅ 103+ Automated Tests Passing
BN Script v0.1.0 Alpha
The first public compiler release is here.
Build. Experiment. Break things. Give feedback.