How maniospas/smoll works
Smoll is a small compiled language: users write .s programs, compile and run them with the smoll executable, and can use its standard library or VS Code language extension. The sampled compiler source is a partial excerpt from a single large Python file, so the compiler stages below are conceptual responsibilities rather than inspected modules. The README documents C integration and the compilation workflow; exact wiring to a native toolchain is not established by the excerpts.
Main entry points: smoll.py Compiler · server.ts Language Server · extern.s Platform Adapters · web.h Web Adapter
Components 18
Language Compiler
- Smoll Source
- Compiler
smoll.py - Type & Safety Analysis
smoll.py - Code Generation
smoll.py - Interpreter
smoll.py - Compiled Program
Standard Library
- Core Utilities
std/core.s - I/O & Networking
std/io.s - Scientific Tools
std/sci.s - Graphics
std/graphics.s
Editor Support
- VS Code Extension
lsp/src/extension.ts - Language Server
lsp/src/server.ts
Runtime Integration
- Platform Adapters
std/extern.s - Web Adapter
std/extern/web.h
Other components
- Program Author
- VS Code User
- Native Platform APIs
- C Libraries
Connections 17
- Program Author → Smoll Source: writes
- Smoll Source → Compiler: compiles
- Compiler → Type & Safety Analysis: analyzes
- Compiler → Code Generation: generates code
- Compiler → Interpreter: can interpret
- Code Generation → Compiled Program: produces
- Compiled Program → Core Utilities: uses
- Compiled Program → I/O & Networking: uses
- Compiled Program → Scientific Tools: uses
- Compiled Program → Graphics: uses
- VS Code User → VS Code Extension: edits Smoll
- VS Code Extension → Language Server: starts & notifies
- Language Server → Language Server: runs compiler
- Platform Adapters → Native Platform APIs: wraps APIs
- Web Adapter → Native Platform APIs: implements APIs
- Platform Adapters → C Libraries: integrates
- Web Adapter → C Libraries: integrates