# 代码空间 **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. 验证候选式的提取 + 消除直接左递归(没有实现简洁左递归的删除) image-20240525004149956 2. 验证 FIRST 集的构建 image-20240515134755352 3. 验证 FOLLOW 集的构建 image-20240524100022145 4. 验证分析表的构建 ![image-20240524145550110](https://pictures-store.oss-cn-hangzhou.aliyuncs.com/img/202405241455141.png) 5. 验证主控程序的推导过程 image-20240525003222359