ling/semantic/mod.rs
1// src/semantic/mod.rs
2mod resolver;
3mod typeck;
4mod symbol;
5mod scope;
6
7use crate::parser::ast::Program;
8use crate::semantic::typeck::TypeChecker;
9use crate::core::LingResult;
10
11// Semantic pipeline is WIP; provide a stub so the crate builds.
12#[allow(dead_code)]
13#[derive(Clone, Debug, Default)]
14pub struct SemanticAnalyzer {
15 type_checker: TypeChecker,
16}
17
18impl SemanticAnalyzer {
19 pub fn new() -> Self {
20 Self {
21 type_checker: TypeChecker::new(),
22 }
23 }
24
25 pub fn analyze(&mut self, _program: &Program) -> LingResult<()> {
26 Ok(())
27 }
28}
29