# 代码空间
**Repository Path**: TechKnight/code-space
## Basic Information
- **Project Name**: 代码空间
- **Description**: 有意思的代码片段
- **Primary Language**: C++
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-04-29
- **Last Updated**: 2024-05-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 代码空间
### 1.codeviwer
一个简单的代码分析工具,统计代码总行数 + 代码行 + 空行 + 注释行。支持通配符,支持过滤特定语言的文件(目前只有C/Cpp)
```txt
Usage: codeview [OPTION] PATTERN
Example:
codeview *.cc
codeview -cf cpp *
OPTION:
-r: recursively reads directory files (todo)
-f: target language (only c/cpp now)
-h: help
-c: count
```
### 2.LL(1)
基于 LL(1) 算法实现的简单词法分析器,以下面文法为例:
```cpp
E->E+T|T
T->T*F|F
F->(E)|i
```
依次执行测试代码得到效果如下:
1. 验证候选式的提取 + 消除直接左递归(没有实现简洁左递归的删除)
2. 验证 FIRST 集的构建
3. 验证 FOLLOW 集的构建
4. 验证分析表的构建

5. 验证主控程序的推导过程
