A lightweight, dynamically-typed interpreted language built for simplicity and learning.
shashx is a custom-designed, educational programming language developed by Shashwat Singh, focusing on simplicity, clean syntax, and powerful learning potential.
- 🔤 Inspired by modern scripting languages
- 🧠 Created to understand how interpreters, tokenizers, and parsers work
- 🧪 Perfect for experimenting with language design
✅ Dynamically typed
✅ Interpreted (no compilation needed)
✅ Custom clean syntax
✅ Supports variables, loops, conditionals, and print statements
✅ Built with JavaScript (Node.js)
✅ CLI-based execution
✅ VS Code syntax highlighting extension
npm install -g shashxThis will globally install the
shashxCLI.
- Create a file with the
.sxextension, e.g.,hello.sx - Run it using the CLI:
shashx path/to/hello.sxpf("Hello, World!")
@x = 10
@y = 20
pf(>x)
pf(>y)
flp @i = 0 to 3 {
pf("flp i = " >i);
}
@j = 0;
wlp j < 2 {
pf("wlp j = " > j);
j = j + 1;
}
@k = 0;
dlp {
pf("dlp k = " > k);
k = k + 1;
} wlp k < 2;
@x = 10
if x > 5
pf("Greater than 5")
elf x == 5
pf("Equals 5")
el
pf("Less than 5")
Want syntax highlighting in Visual Studio Code?
You can get the extension here:
👉 shashx-lang on Visual Studio Marketplace
- Syntax highlighting
- File recognition (
.sx) - Friendly editing experience
shashx-lang/
├── bin/
│ └── shashx.bat # CLI batch file
├── examples/
│ └── loop.sx # Sample code files
├── src/
│ ├── lexer.js
│ ├── parser.js
│ └── interpreter.js
├── main.js # Entry point
├── package.json
└── README.mdWant to improve shashx?
- 🍴 Fork the repo
- 🛠️ Make changes
- 📩 Open a PR
Bug reports, ideas, and suggestions are always welcome!
Have questions, ideas, or feedback?
Shashwat Singh
📧 Email: singhshashwat521@gmail.com
🌐 GitHub: github.com/shashwat-singh-01
🔗 LinkedIn: linkedin.com/in/shashwat-singh-200495248
This project is licensed under the MIT License. See the LICENSE file for details.
💡 Start building with shashx today and explore the internals of a real language interpreter!