# PrattParser **Repository Path**: 676758285/PrattParser ## Basic Information - **Project Name**: PrattParser - **Description**: PrattParser的Swift版本 - **Primary Language**: Swift - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-09-16 - **Last Updated**: 2023-10-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ![](http://dongjia-oss.oss-cn-beijing.aliyuncs.com/blog/PrattParser_header-2023-09-28-17-41-24.png)
#### 编译原理概述 *** 编译原理是我们每一个程序猿必须要了解的技能, 编译原理实际上并没有啥高深的技术, 我们如果在做业务开发, 也很少会用到编译开发的知识, 但是编译原理又是我们必备的基础知识之一. 所以我们需要对编译原理的内容有一个大概的了解. 其实我自己写这一个系列的起因, 一个是我恶补编译原理的相关内容, 另外一个就是看到了B站熊爷的技术去魅篇- [手写一个普拉特解析器](), 感觉这个对我辅助理解遍历原理的一个很好的方案. 所以才会有这一个系列的博客. 首先就是编译过程中的基本组成结构单元. 如下图所示. ![](http://dongjia-oss.oss-cn-beijing.aliyuncs.com/blog/pratt_parser_1-2023-09-21-15-54-04.png)
#### PrattParser项目概述 *** 前段时间一直想着手恶补 **编译原理** 的相关知识, 一开始打算直接读大学的 **编译原理**, 虽然内容丰富, 但是着实抽象难懂. 无意间看到B站的熊爷关于普拉特解析器相关内容, 感觉是一个非常好的切入点.所以就写了基于Swift版本的 **PrattParser**. 下面是我整理的项目中各个类以及其中函数的作用. ![](http://dongjia-oss.oss-cn-beijing.aliyuncs.com/blog/PrattParser_3_1-2023-10-12-13-26-37.png) > 更加具体的请查看 [PrattParser解释器项目类与函数](https://www.processon.com/embed/6513979420e5d55c8a7f5e61)
接下来, 我把整个项目UML图发出来, 大家可以借鉴查看. ![](http://dongjia-oss.oss-cn-beijing.aliyuncs.com/blog/PrattParser_3_2-2023-10-12-14-16-01.png) > 更加具体的请查看 [PrattParser的Swift项目UML图](https://www.processon.com/embed/65267089d4e148261f9c6ab1) 欢迎大家下载自行查看