语义分析器¶
jaon/analyzer.py 对 AST 进行类型检查和作用域解析。
主要职责¶
变量、函数、类的作用域管理
类型推断与类型兼容性检查
函数参数与返回值类型校验
类字段和方法访问校验
控制流语句(如
break是否在循环内)检查
类型系统¶
分析器内置以下类型:
原始类型:
Int、Float、Bool、String、Null、Any、Void集合类型:
List<T>、Dict<K, V>类类型
函数类型
使用示例¶
from jaon.lexer import tokenize
from jaon.parser import parse
from jaon.analyzer import analyze
tokens = tokenize('var x: Int = "hello";')
program = parse(tokens)
analyze(program) # 抛出类型错误