Skip to content
Rekhta – Toy Programming Language
webLegendary1300 XP

Rekhta – Toy Programming Language

TypeScript-based toy programming language with Urdu syntax designed for compiler construction learning.

Role
Lead Developer
Built in
4 months
Team
2 developers
Stack
7 techs

Rekhta is an innovative TypeScript-based toy programming language with Urdu syntax, designed specifically for compiler construction learning and making programming accessible to Urdu speakers. The project serves as both an educational tool and a practical implementation of compiler design principles.

The language features LL(1) parsing, Abstract Syntax Tree (AST) construction, comprehensive error handling, and a custom interpreter. The Urdu syntax makes programming concepts more accessible to native Urdu speakers while maintaining the rigor of traditional programming languages.

The project includes a complete compiler pipeline from lexical analysis to code execution, with detailed error reporting and debugging capabilities. The implementation demonstrates advanced concepts in compiler design, language theory, and software engineering.

Technical achievements include implementing a complete lexer and parser, designing an efficient AST structure, creating comprehensive error handling mechanisms, and building a custom interpreter for code execution. The project demonstrates expertise in compiler design, language theory, and educational software development.

What was hard → How I solved it

The problem

Designing and implementing LL(1) parser for Urdu syntax

The fix

Implemented recursive descent parser with LL(1) grammar

The problem

Creating comprehensive Abstract Syntax Tree (AST) structure

The fix

Designed modular AST with visitor pattern for traversal

The problem

Developing robust error handling and reporting system

The fix

Created detailed error reporting with line numbers and suggestions

The problem

Building custom interpreter for code execution

The fix

Built stack-based interpreter with memory management

The problem

Ensuring language accessibility for Urdu speakers

The fix

Developed Urdu-friendly syntax with English fallbacks

The problem

Maintaining educational value while technical complexity

The fix

Created comprehensive documentation and examples

What it changed

Making programming accessible to Urdu-speaking communities

Providing educational tool for compiler design learning

Demonstrating advanced software engineering concepts

Contributing to programming language diversity

Creating foundation for future language development

Built with

Frontend
TypeScript
Backend
Node.js
Other
Compiler DesignLL(1) ParserASTUrdu SyntaxInterpreter