From 2d1e41a3e8f4f443b4590ecfbad45dab40c786a5 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Fri, 13 Mar 2026 16:03:13 +0100 Subject: [PATCH] Simple structure --- src/lib.rs | 2 ++ src/parser/ast.rs | 21 +++++++++++++++++++++ src/{ => parser}/grammar.pest | 0 src/parser/mod.rs | 1 + src/runtime.rs | 0 5 files changed, 24 insertions(+) create mode 100644 src/parser/ast.rs rename src/{ => parser}/grammar.pest (100%) create mode 100644 src/parser/mod.rs create mode 100644 src/runtime.rs diff --git a/src/lib.rs b/src/lib.rs index e69de29..76ada1a 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -0,0 +1,2 @@ +pub mod parser; +pub mod runtime; diff --git a/src/parser/ast.rs b/src/parser/ast.rs new file mode 100644 index 0000000..2dc1543 --- /dev/null +++ b/src/parser/ast.rs @@ -0,0 +1,21 @@ +pub struct Program { + pub functions: Vec, +} + +pub struct Function { + pub name: String, + pub params: Vec, + pub body: Vec, +} + +pub struct Instruction { + pub opcode: String, + pub operands: Vec, +} + +pub enum Operand { + Global(String), + Local(String), + Number(i64), + Pointer(Box), +} \ No newline at end of file diff --git a/src/grammar.pest b/src/parser/grammar.pest similarity index 100% rename from src/grammar.pest rename to src/parser/grammar.pest diff --git a/src/parser/mod.rs b/src/parser/mod.rs new file mode 100644 index 0000000..851c0bc --- /dev/null +++ b/src/parser/mod.rs @@ -0,0 +1 @@ +pub mod ast; diff --git a/src/runtime.rs b/src/runtime.rs new file mode 100644 index 0000000..e69de29