Metadata-Version: 2.4
Name: silem
Version: 0.1.0
Summary: SILEM - an independent programming language with its own lexer, parser, AST and runtime
Author: TeamCode
License: MIT
Project-URL: Homepage, https://github.com/TeamCode/silem
Project-URL: Documentation, https://github.com/TeamCode/silem/blob/main/LANGUAGE.md
Project-URL: Issues, https://github.com/TeamCode/silem/issues
Keywords: silem,programming-language,interpreter,lexer,parser
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Topic :: Software Development :: Interpreters
Classifier: Topic :: Software Development :: Compilers
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

Silem 

A simple, independent programming language.

Silem is a small programming language designed to be simple, readable, and independent.

It is built from the ground up with its own syntax, lexer, parser, runtime, and language rules.

Why Silem? 

Silem is not designed to be another Python clone.

The goal is simple:

Easy-to-read syntax Small and understandable language design Independent grammar Lightweight interpreter Useful for learning how programming languages work Easy to experiment with and extend Example show "Hello, world!" set name "Silem" show name Variables set x 10 set y 20 show x + y Conditions set age 18 if age >= 18 show "Adult" else show "Not adult" end Loops set count 0 while count < 5 show count set count count + 1 end Functions func greet name show "Hello, " + name end greet "Silem" Language Structure 

Silem follows a traditional interpreter pipeline:

Source Code ↓ Lexer ↓ Tokens ↓ Parser ↓ AST ↓ Runtime ↓ Output 

The language is intentionally separated into components so that the implementation can evolve without turning into one enormous pile of code.

Core Features 

Current / planned language features include:

Variables Numbers Strings Booleans Null values Lists Arithmetic operators Comparison operators Logical operators if / else while Functions return Comments REPL Command-line execution Custom language errors File Extension 

Silem source files use:

.silem 

Example:

hello.silem main.silem example.silem Project Structure Silem-Language/ ├── silem/ │ ├── ... │ ├── test/ │ ├── ... │ ├── examples/ │ ├── ... │ ├── bin/ │ ├── ... │ ├── pyproject.toml ├── README.md └── ... 

The exact structure may change as Silem develops.

Installation 

Once published on PyPI:

pip install silem 

You can then use the Silem command-line interface provided by the package.

Silem is currently under development, so installation and CLI commands may change between versions.

Development 

Clone the repository:

git clone https://github.com/VoNguyenPhong-Kids11Ages/Silem-Language.git cd Silem-Language 

Install the project in development mode:

pip install -e . 

Run the test suite:

python -m pytest Design Philosophy 

Silem follows a few simple principles:

1. Silem should be Silem 

The language does not exist to imitate Python, JavaScript, C, or another language.

2. Keep the core understandable 

The implementation should remain understandable instead of hiding everything behind unnecessary complexity.

3. Syntax should have a reason 

New syntax should exist because it makes the language better, not simply because another language already has it.

4. Build before expanding 

The core interpreter comes first.

More advanced features can come later.

Status 

Silem is currently under active development.

The language specification, syntax, interpreter, standard library, and package structure may change before the first stable release.

Current target:

Silem 0.1.0 Roadmap [x] Initial language project [x] GitHub repository [ ] Stable lexer [ ] Stable parser [ ] AST [ ] Runtime [ ] REPL [ ] CLI [ ] Test suite [ ] Documentation [ ] PyPI release [ ] Silem 0.1.0 [ ] Future standard library Contributing 

Silem is a small experimental language project.

Issues, bug reports, ideas, and improvements are welcome.

Before contributing major syntax changes, please make sure the proposed feature fits Silem's design philosophy.

License 

See the LICENSE file for the project's current license.

Silem

A programming language that is intentionally its own thing.

