kisumu-lang

Code Structure

The Kisumu programming language project follows a well-organized directory structure to ensure maintainability, scalability, and clarity. Below is a detailed explanation of the structure and the purpose of each directory and file.

Project Structure

> tree .
.
├── LICENSE
├── README.md
├── cmd
│   ├── kisumu
│   │   └── main.go
│   └── repl
│       └── main.go
├── docs
│   ├── README.md
│   ├── development
│   │   └── contribution-guidelines.md
│   ├── specs
│   │   ├── architecture.md
│   │   ├── features.md
│   │   ├── introduction.md
│   │   └── roadmap.md
│   └── technical
│       ├── data-structures.md
│       └── lexer.md
├── go.mod
├── internal
│   ├── interpreter
│   │   ├── interpreter.go
│   │   └── interpreter_test.go
│   ├── lexer
│   │   ├── lexer.go
│   │   └── lexer_test.go
│   ├── parser
│   │   ├── parser.go
│   │   └── parser_test.go
│   ├── repl
│   │   ├── file_reader.go
│   │   └── repl.go
│   └── token
│       └── tokens.go
├── pkg
│   └── common
│       └── errors.go
└── tests
    └── lexer
        └── token_tests.ksm

Directory and File Descriptions

Root Level

cmd/

Contains the entry points for the Kisumu project.

docs/

Houses all documentation related to the project.

internal/

Contains the core components of the language implementation. This directory is not intended for public APIs.

pkg/

Contains reusable packages.

tests/

Contains test files for the project.