Metadata-Version: 2.4
Name: hinglish-plus-plus
Version: 1.0.0
Summary: H++ - Hinglish Plus Plus, ek nai programming language
License: MIT
Keywords: programming-language,hinglish,interpreter,hindi
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Software Development :: Interpreters
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# H++ (Hinglish Plus Plus) 🚀

> Socho Hindi mein, code karo duniya mein!

H++ ek interpreter-based programming language hai jisme Hinglish aur English keywords dono milte hain. Indian developers ke liye banai gayi, jisse aap apni bhasha mein soch kar code likh sakein.

## What is H++?

H++ ek friendly language hai jo:

- Hindi-style syntax provide karti hai
- `.hpp` files seedha run karti hai
- string interpolation `${...}` support karti hai
- classes, functions, loops, aur error handling offer karti hai
- built-in modules `Ganit`, `Faail`, `Samay`, `Jaal` deti hai

## Installation

```bash
pip install hplusplus
hpp --version
```

Local development:

```bash
pip install -e .
hpp examples/hello.hpp
```

## Quick Start

`examples/hello.hpp`:

```hpp
shuru karo {
    bol("Namaste duniya!")
}
```

Run:

```bash
hpp examples/hello.hpp
```

## Syntax Guide

### Variables

```hpp
rakho naam = "Aashu"
pakka PI = 3.14
```

- `rakho`: variable
- `pakka`: constant

### Print

```hpp
bol("Namaste!")
bol("Naam: ${naam}")
```

### If / Else

```hpp
agar (umar >= 18) {
    bol("Adult")
} warna {
    bol("Minor")
}
```

### Loops

```hpp
chakkar (rakho i = 1; i <= 5; i++) {
    bol(i)
}

jabtak (n < 3) {
    bol(n)
    n = n + 1
}
```

### Functions

```hpp
kaam jodo(a, b) {
    wapas a + b
}

bol(jodo(2, 3))
```

### Classes

```hpp
parivaar Student {
    banao(naam) {
        yeh.naam = naam
    }

    hello() {
        wapas "Namaste " + yeh.naam
    }
}

rakho s = naya Student("Aashu")
bol(s.hello())
```

### Error Handling

```hpp
koshish karo {
    phenko "Kuch galat hua"
} pakdo (e) {
    bol("Pakda: ${e}")
}
```

### String Interpolation

```hpp
rakho naam = "Aashu"
rakho umar = 21
bol("Mera naam ${naam} hai aur umar ${umar} saal")
```

### List Methods

```hpp
rakho nums = [3, 1, 4]
nums.jodo(9)
bol(nums.lambai)
nums.sajaao()
bol(nums.milaao(", "))
```

Common list methods: `jodo`, `hatao`, `chhano`, `badlo`, `dhundho`, `milaao`, `sajaao`, `ulta_karo`, `hai_andar`, `lambai`.

### String Methods

```hpp
rakho msg = "  Namaste H++  "
bol(msg.saaf_karo())
bol(msg.BADA_KARO())
bol(msg.chhota_karo())
```

Common string methods: `lambai`, `BADA_KARO`, `chhota_karo`, `saaf_karo`, `kaat_do`, `hai_andar`, `kahan_hai`, `badal_do`, `shuru_hota_hai`, `khatam_hota_hai`.

### Modules

Modules are available globally without import.

```hpp
bol(Ganit.sqrt(16))
bol(Ganit.PI)

Faail.likho("demo.txt", "Namaste")
bol(Faail.padho("demo.txt"))

rakho abhi = Samay.abhi()
bol(abhi.sundar())

bol(Jaal.JSON.parse("{\"a\": 1}").a)
```

Available modules:

- `Ganit`: math utilities
- `Faail`: file utilities
- `Samay`: date/time utilities
- `Jaal`: HTTP and JSON utilities

## Examples

### 1. FizzBuzz

```hpp
shuru karo {
    chakkar (rakho i = 1; i <= 30; i++) {
        agar (i / 15 == Ganit.podha(i / 15)) {
            bol("FizzBuzz")
        } warna agar (i / 3 == Ganit.podha(i / 3)) {
            bol("Fizz")
        } warna agar (i / 5 == Ganit.podha(i / 5)) {
            bol("Buzz")
        } warna {
            bol(i)
        }
    }
}
```

### 2. File Read / Write

```hpp
shuru karo {
    Faail.likho("note.txt", "Namaste H++")
    Faail.jodo("note.txt", "\nDusri line")

    rakho content = Faail.padho("note.txt")
    bol(content)

    Faail.mitao("note.txt")
}
```

### 3. Class Example

```hpp
parivaar BankAccount {
    banao(owner, balance) {
        yeh.owner = owner
        yeh.balance = balance
    }

    jama(amount) {
        yeh.balance = yeh.balance + amount
        wapas yeh.balance
    }
}

shuru karo {
    rakho acc = naya BankAccount("Aashu", 1000)
    bol("Balance: ${acc.jama(500)}")
}
```

## VS Code Extension

Local install:

```bash
cd vscode-hpp
npm install -g @vscode/vsce
vsce package
code --install-extension hplusplus-1.0.0.vsix
```

## Contributing

1. Fork the repository.
2. Create a branch.
3. Add examples, fixes, or docs.
4. Open a pull request.

## License

MIT License

After installing, `.hpp` files get syntax highlighting, snippets, bracket behavior, and comment toggling.

## Contributing

Contributions welcome hain. Aap:

- Bugs report kar sakte ho
- Examples add kar sakte ho
- Parser/interpreter features improve kar sakte ho
- VS Code extension polish kar sakte ho

Development loop:

```bash
pip install -e .
python main.py examples/hello.hpp
python main.py examples/classes.hpp
python main.py examples/ganit_test.hpp
```

## License

MIT
