Metadata-Version: 2.4
Name: lizard-lang
Version: 0.5.0
Summary: Lizard is a python-based programming language that adds semicolons and curly braces to Python syntax
Author: Kayk Caputo
License-Expression: MIT
Project-URL: Homepage, https://github.com/KaykCaputo/lizard-lang
Project-URL: Repository, https://github.com/KaykCaputo/lizard-lang.git
Project-URL: Documentation, https://github.com/KaykCaputo/lizard-lang#readme
Project-URL: Issues, https://github.com/KaykCaputo/lizard-lang/issues
Keywords: lizard,programming language,python syntax,interpreter,compiler
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Interpreters
Classifier: Topic :: Software Development :: Compilers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# Lizard

| | |
| --- | --- |
| <img src="https://raw.githubusercontent.com/KaykCaputo/lizard-lang/master/gecko.png" alt="Lizard icon" width="185" height="185" /> | Lizard is a Python‑compatible language that adds curly braces and optional semicolons to Python syntax, then compiles to clean Python via the `ast` module. |

```lz
def hello_world() {
    print("Hello World!");
}

if True {
    hello_world();
}
```

Transpiled output:

```python
def hello_world():
    print('Hello World!')

if True:
    hello_world()
```

---

## Features

- Python‑compatible syntax with `{}` blocks and optional `;`
- Lexer → parser → AST → `ast.unparse` pipeline (no text‑based indentation tricks)
- Supports comprehensions, decorators, and triple‑quoted strings
- Runs on the standard Python runtime
- VSCode syntax highlighting support

---

## Examples

- **Hello world:** `examples/hello.lz`
- **Factorial:** `examples/factorial.lz`
- **Comprehensions + dict/set literals:** `examples/comprehensions.lz`
- **Decorators:** `examples/decorators.lz`
- **Multiline strings:** `examples/multiline_strings.lz`

---

## Installation

- PyPI: [lizard-lang](https://pypi.org/project/lizard-lang/)
- VSCode Extension: [Lizard Lang](https://marketplace.visualstudio.com/items?itemName=KaykCaputo.lizard-lang)

```bash
pip install lizard-lang
```

Run:

```bash
lizard examples/hello.lz
```

---

## Development

```bash
pytest
```

---

## Current Status

Lizard is experimental.

Implemented:
- lexer + parser + AST pipeline
- brace blocks and semicolon‑optional syntax
- Python code generation via `ast.unparse`

Planned:
- formatter
- LSP support
- self‑hosting (Lizard in Lizard)
- LLVM + hybrid FFI backend

---

## Why?

Because some developers prefer:

```js
if (condition) {
    doSomething();
}
```

over:

```python
if condition:
    do_something()
```

Lizard explores whether Python can support both styles while staying fully compatible with Python semantics.

---

## License

MIT
