refactor: restructure CLI into library crate and add semantic analysis phase

Restructure nxc-cli crate:
- Extract main logic into lib.rs with main_entry() function
- Move nexacore binary to separate bin/nexacore.rs file
- Keep nxc binary in main.rs as thin wrapper

Add semantic analysis to compilation pipeline:
- Implement semantic analyzer with type checking and name resolution
- Add Type enum with Int, Float, Bool, String, Void, Struct, Function, Error variants
- Add typed AST nodes (TypedModule, TypedFunction
This commit is contained in:
2026-04-06 17:13:34 +02:00
parent dfd2f10234
commit 9304b6bcaa
8 changed files with 1343 additions and 90 deletions

View File

@@ -5,14 +5,16 @@ edition.workspace = true
license.workspace = true
authors.workspace = true
[lib]
path = "src/lib.rs"
[[bin]]
name = "nxc"
path = "src/main.rs"
[[bin]]
name = "nexacore"
path = "src/main.rs"
path = "src/bin/nexacore.rs"
[dependencies]
nxc-driver = { path = "../nxc-driver" }