Metadata-Version: 2.4
Name: egglang
Version: 0.1.3
Summary: A command line tool written in Python
Author: Adib
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer
Dynamic: license-file

# EGG Programming Language

EGG is a small programming language that provides basic programming features.

## Installation

Install EGG using pip:

```bash
pip install egglang
```

Run EGG:

```bash
egg run file.egg
```

## About EGG

When I started my coding journey, I was always curious about how programming languages actually work. It felt like magic — how a few lines of code could be executed by a computer.

One day, when I had very little programming knowledge and only knew the basics of Python, I tried to create my own programming language. At that time, it was a simple program that could take input and produce output. I got stuck when I tried to make it more complex and add more features. That was when I realized that this was not the proper way to build a programming language.

You can check that early attempt here:

https://github.com/codeaddicthq/egg/v1

For this version, I studied how programming languages actually work. It was not an easy journey because there were not many proper resources available about this topic. However, I kept learning and managed to build:

- Lexer
- Parser
- AST (Abstract Syntax Tree)
- Interpreter architecture

During this process, I also learned new DSA concepts. These were new to me because, on 1/7/26, I had not started studying data structures and algorithms seriously yet.

I learned concepts like:

- Trees
- Binary trees
- Tree traversal
- Recursive structures

and implemented those ideas while building the parser.

The algorithms required to build a parser looked extremely complex before I started. I never thought I would be able to understand them, but eventually, I did.

## Features

EGG currently supports:

- Variables
- Functions
- If statements
- For loops
- While loops
- Lists
- Dictionaries
- Basic programming language features

## Why EGG?

EGG was not created to compete with large programming languages.

The goal of EGG is to explore, learn, and share the process of creating a programming language.

EGG is a project focused on understanding how programming languages work internally and experimenting with language design.

## Built With

- Python
- Lexer
- Parser
- AST
- Interpreter

Because EGG is built with Python, it may not be the fastest programming language. However, it provides a simple way to learn how interpreters and programming languages work internally.

## Example

```egg
var name = "World"

fun greet(person) {
    show("Hello " + person)
}

greet(name)
```

Output:

```
Hello World
```

## Future Plans

Possible future improvements:

- Add a module import system
- Improve error messages
- Create a standard library
- Improve performance
- Add more built-in functions

## Feedback

Try EGG, explore it, and share your feedback!

Made with curiosity and a love for programming.
