Skip to main content

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