# gil-robert-m-mislang/evaluator architecture

> Architecture diagram of the GitHub repository gil-robert-m-mislang/evaluator, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/gil-robert-m-mislang/evaluator
- Repository: https://github.com/gil-robert-m-mislang/evaluator

## Overview

This is a small C token-classification program. Its workflow takes lexemes, recognizes reserved words or classifies other text through a DFA, then prints a token category. The evidence is limited to the single excerpted source file; no README or separate modules document broader capabilities.

Main entry points: [`evaluator.c`](https://github.com/gil-robert-m-mislang/evaluator/blob/main/evaluator.c) (Category mapping)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_lexer["Token classification"]
  node_reserved["Keyword matcher<br/>[evaluator.c]"]
  node_classifier["DFA classifier<br/>[evaluator.c]"]
  node_transitions["State transitions<br/>[evaluator.c]"]
  node_formatter["Category mapping<br/>[evaluator.c]"]
end

node_input(("Lexeme inputs"))
node_output(("Printed results"))

node_input -->|"checks lexemes"| node_reserved
node_input -->|"classifies lexemes"| node_classifier
node_classifier -->|"advances states"| node_transitions
node_reserved -->|"selects keyword"| node_formatter
node_transitions -->|"provides final state"| node_formatter
node_formatter -->|"prints categories"| node_output

click node_reserved "https://github.com/gil-robert-m-mislang/evaluator/blob/main/evaluator.c"
click node_classifier "https://github.com/gil-robert-m-mislang/evaluator/blob/main/evaluator.c"
click node_transitions "https://github.com/gil-robert-m-mislang/evaluator/blob/main/evaluator.c"
click node_formatter "https://github.com/gil-robert-m-mislang/evaluator/blob/main/evaluator.c"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_reserved,node_classifier,node_transitions,node_formatter toneBlue
class node_input,node_output toneIndigo
```

## Components

### Token classification

- [Keyword matcher](https://github.com/gil-robert-m-mislang/evaluator/blob/main/evaluator.c): `evaluator.c`
- [DFA classifier](https://github.com/gil-robert-m-mislang/evaluator/blob/main/evaluator.c): `evaluator.c`
- [State transitions](https://github.com/gil-robert-m-mislang/evaluator/blob/main/evaluator.c): `evaluator.c`
- [Category mapping](https://github.com/gil-robert-m-mislang/evaluator/blob/main/evaluator.c): `evaluator.c`

### Other components

- **Lexeme inputs**
- **Printed results**

## Connections

- Lexeme inputs → Keyword matcher: checks lexemes (evidence: `evaluator.c`)
- Lexeme inputs → DFA classifier: classifies lexemes (evidence: `evaluator.c`)
- DFA classifier → State transitions: advances states (evidence: `evaluator.c`)
- Keyword matcher → Category mapping: selects keyword (evidence: `evaluator.c`)
- State transitions → Category mapping: provides final state (evidence: `evaluator.c`)
- Category mapping → Printed results: prints categories (evidence: `evaluator.c`)
