# Snow Compiler - Lexer 模块

> Snow 编译器的前端模块 —— 负责将源代码扫描并生成 Token 流

## 项目简介

**Lexer** 是 [Snow 编译器]() 项目的子模块，承担编译器前端的词法分析阶段任务。  
它负责将源代码输入，根据 Snow 语言的语法规则，识别并划分为有意义的 Token 流，为后续语法解析（Parser）提供标准输入。

该模块采用模块化设计，每类 Token 类型（如标识符、运算符、数字、字符串等）由独立的扫描器（Scanner）负责识别，提高了扩展性和可维护性。

## 核心功能

- **词法分析引擎**: 从源代码提取标准化 Token 流
- **模块化扫描器体系**: 按需扩展不同类型的 Token 识别
- **灵活的上下文管理**: 跟踪源代码位置，支持错误处理
- **统一的 Token 工厂**: 集中创建 Token 实例
- **工具支持**: Token 打印与调试辅助

## 模块结构

```
lexer/
  ├── base/               // 公共基础接口
  ├── core/               // 词法分析核心引擎与上下文
  ├── scanners/           // 各类 Token 扫描器
  ├── token/              // Token 定义、工厂与类型
  ├── utils/              // 辅助工具（如 Token 打印）
  └── doc/                // 项目文档
```

## 开发环境

* JDK 24 或更高版本
* Maven 构建管理
* 推荐 IDE: IntelliJ IDEA

---
