npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

h-plus-plus-ansh

v1.0.0

Published

A Hinglish programming language

Downloads

103

Readme

H++ Programming Language 🚀

H++ is a custom interpreted programming language built from scratch using JavaScript.
It includes its own Lexer, Parser, and Interpreter, along with a CLI runner and a web-based playground.

This project demonstrates how a programming language works internally --- from tokenization to execution.


✨ Features

  • Custom Hindi-style keywords
  • Variables (maanLo, pakka)
  • Conditions (agar, warna, warnaAgar)
  • Loops (ghumo, jabTak)
  • Functions (kaam, vapas)
  • Logical operators (aur, ya, nahi)
  • Break & Continue
  • Absolute value operator | |
  • Unary minus support (-5)
  • CLI execution
  • Web Playground with Monaco Editor
  • Downloadable .hpp files
  • Shareable code links

📂 Project Structure

HPP/
│
├── lexer.js
├── parser.js
├── interpreter.js
├── run.js
├── server.js
└── public/
    └── index.html

🛠 Installation

Make sure you have Node.js installed.

Install dependency:

npm install express

▶ Running H++ from Terminal

Create a .hpp file, for example:

example.hpp

bolo("Start");

bolo(|-5|);

ghumo i ko 1 se 3 tak {
  bolo(i);
}

Run it using:

node run.js example.hpp

🌐 Running Web Playground

Start the server:

node server.js

Open in browser:

http://localhost:3000

You can: - Write H++ code - Run it instantly - Download .hpp files - Share code via link


🧠 Language Syntax Overview

Variables

maanLo x = 10;
pakka y = 20;

Print

bolo("Hello World");

If Statement

agar (x > 5) {
  bolo("Greater");
}

For Loop

ghumo i ko 1 se 5 tak {
  bolo(i);
}

Reverse loop:

ghumo i ko 5 se 1 tak ulta {
  bolo(i);
}

While Loop

jabTak (x > 0) {
  bolo(x);
}

Functions

kaam square(n) {
  vapas n * n;
}

bolo(square(5));

Absolute Value

bolo(|-5|);
bolo(|-100+20|);

H++ Language - Complete Keywords List 🚀

This document contains all reserved keywords of the H++ programming language (v3).


📦 Variable Declaration

  • maanLo → Declare a normal variable
  • pakka → Declare a constant variable

🖨 Output

  • bolo → Print output to console

Example: bolo("Hello");


🔀 Conditional Statements

  • agar → if
  • warnaAgar → else if
  • warna → else

🔁 Loops

For Loop Keywords

  • ghumo
  • ko
  • se
  • tak
  • ulta (for reverse looping)

While Loop Keyword

  • jabTak

🧠 Functions

  • kaam → Function declaration
  • vapas → Return statement

🔗 Logical Operators

  • aur → Logical AND
  • ya → Logical OR
  • nahi → Logical NOT

⛔ Flow Control

  • break
  • continue

📋 Complete Reserved Keywords List

maanLo pakka bolo agar warnaAgar warna ghumo ko se tak ulta jabTak kaam vapas aur ya nahi break continue


Total Reserved Keywords: 19

⚙ How It Works Internally

  1. Lexer → Converts source code into tokens\
  2. Parser → Builds an Abstract Syntax Tree (AST)\
  3. Interpreter → Executes the AST\
  4. Environment → Handles variable scope and functions

🎯 Purpose of This Project

This project was built to understand:

  • How programming languages work internally
  • How parsers and interpreters are designed
  • How execution environments manage scope
  • How to extend a language with new syntax

🚀 Future Improvements

  • Operator precedence system
  • Arrays and objects
  • Built-in math library
  • Error highlighting in playground
  • VS Code extension
  • Bytecode compilation
  • Online deployment

👨‍💻 Author

by AnshCoder - Ansh Sharma