Metadata-Version: 2.4
Name: ssebidethon
Version: 0.1.1
Summary: A lightweight interpreted programming language
License-Expression: MIT
Project-URL: Homepage, https://github.com/ssebide/ssebidethon
Project-URL: Repository, https://github.com/ssebide/ssebidethon
Keywords: interpreter,programming-language,lexer,parser
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
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: Topic :: Software Development :: Interpreters
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# Ssebidethon

A lightweight interpreted programming language built in Python, featuring arithmetic operations, variables, conditionals, and loops.

## Installation

### From PyPI 
```bash
pip install ssebidethon
```

### From Source
```bash
git clone https://github.com/ssebide/ssebidethon.git
cd ssebidethon
pip install -e .
```

### Standalone Executable
Download the latest release from the [Releases](https://github.com/ssebide/ssebidethon/releases) page.

## Usage

### Interactive Shell
```bash
# If installed via pip
ssebidethon

# Or run as module
python -m ssebidethon

# Or run directly from source
python shell.py
```

### Example Session
```
Ssebidethon v0.1.0
Type 'exit' to quit.

>>> 5 + 3
8
>>> make x = 10
{'x': 10}
>>> x * 2
20
>>> exit
Goodbye!
```

## Language Features

### Arithmetic
```
5 + 3          # 8
10 - 4         # 6
6 * 7          # 42
20 / 4         # 5.0
(2 + 3) * 4    # 20
```

### Variables
```
make x = 10
make y = x * 2
x + y          # 30
```

### Comparisons
```
5 > 3          # 1 (true)
5 < 3          # 0 (false)
5 ?= 5         # 1 (equality check)
5 >= 5         # 1
5 <= 3         # 0
```

### Boolean Logic
```
1 and 1        # 1
1 and 0        # 0
1 or 0         # 1
not 0          # 1
```

### Conditionals
```
if x > 5 do x * 2
if x > 10 do 100 elif x > 5 do 50 else do 0
```

### Loops
```
while x > 0 do make x = x - 1
```

## Development

### Project Structure
```
ssebidethon/
├── __init__.py      # Package exports
├── __main__.py      # Module entry point
├── shell.py         # Interactive REPL
├── lexer.py         # Tokenizer
├── tokens.py        # Token definitions
├── parse.py         # Parser (AST generation)
├── interpreter.py   # Tree-walking interpreter
└── data.py          # Variable storage
```

### Building from Source
```bash
# Install build tools
pip install build

# Build the package
python -m build

# Install locally
pip install dist/ssebidethon-0.1.0-py3-none-any.whl
```


## License

MIT
