https://github.com/zavvdev/elise-lang
(In development) A schema-driven data transformation language that compiles type-optimized bytecode from pipeline expressions over structured data. Write once, run against any conforming dataset.
https://github.com/zavvdev/elise-lang
compiler dsl interpreter language lexer parser programming-language register-b rust semantic-analysis semantic-analyzer tokenizer tokenizer-parser tree-walk-interpreter virtual-machine vm
Last synced: 10 days ago
JSON representation
(In development) A schema-driven data transformation language that compiles type-optimized bytecode from pipeline expressions over structured data. Write once, run against any conforming dataset.
- Host: GitHub
- URL: https://github.com/zavvdev/elise-lang
- Owner: zavvdev
- License: mit
- Created: 2024-03-24T16:35:30.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-07-01T19:37:22.000Z (24 days ago)
- Last Synced: 2026-07-01T21:23:58.614Z (24 days ago)
- Topics: compiler, dsl, interpreter, language, lexer, parser, programming-language, register-b, rust, semantic-analysis, semantic-analyzer, tokenizer, tokenizer-parser, tree-walk-interpreter, virtual-machine, vm
- Language: Rust
- Homepage:
- Size: 547 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Elise: Bytecode-compiled DSL for typed data transformation pipelines
/eˈliːs/ → pronounced like “eh-LEES”
[Grammar Rules](./GRAMMAR.md), [Todos](./TODO.md), [Documentation](./DOCUMENTATION.md)
## Overview
A schema-driven data transformation language that compiles type-optimized bytecode from pipeline expressions over structured data. Write once, run against any conforming dataset.
## File Types
> **_NOTE:_** Only `.csv` files are supported for now.
| Extension | Purpose |
| --------- | ---------------------------------------- |
| `.eli` | Source code |
| `.elt` | Schema / type definitions for input data |
| `.csv` | Input data file |
| `.elc` | Generated file with compiled bytecode |
## Execution Modes
### 1. Safe Direct Execution
```bash
elise --mode=run --source-code=sample.eli --data=data.csv --data-schema=data.elt
```
- Compiles in-memory (no `.elc` output)
- Performs full runtime validation of input data against schema
- Executes immediately
**Safety**: High
### 2. Unsafe Execution (Maximum Performance)
Step 1 — Build an executable
```bash
elise --mode=build --source-code=sample.eli --data-schema=data.elt --output=program.elc
```
Step 2 — Execute
```bash
elise --mode=exec --executable=program.elc --data=data.csv
```
- Requires precompiled .elc
- Skips runtime validation
- Executes fastest possible path
**Use case**: trusted, prevalidated data
**Safety**: None ⚠️
### 3. Validation-Only Step
```bash
elise --mode=validate --data=data.csv --data-schema=data.elt
```
- Full scan of data to ensure strict schema compliance
- Can be used before unsafe execution