本文概述
- 自上而下的解析
- 自底向上解析
解析器以令牌序列的形式获取输入, 并以解析树的形式生成输出。
【编译器的两种解析器】解析有两种类型:自上而下的解析和自下而上的解析。
文章图片
自上而下的解析
- 自上而下的解析称为递归解析或预测解析。
- 自下而上的解析用于为输入字符串构造一个解析树。
- 在自上而下的解析中, 解析从起始符号开始, 然后将其转换为输入符号。
文章图片
自底向上解析
- 自下而上的解析也称为移位减少解析。
- 自下而上的解析用于为输入字符串构造一个解析树。
- 在自下而上的解析中, 解析从输入符号开始, 然后通过反向找出最右边的字符串派生, 来构造解析树直至起始符号。
生产
E → T
T → T * F
T → id
F → T
F → id
输入字符串“ id * id”的解析树表示如下:
文章图片
文章图片
自下而上的解析分为各种解析。这些如下:
- Shift-Reduce解析
- 运算符优先级解析
- 表驱动的LR解析
- LR(1)
- 单反相机(1)
- CLR(1)
- LALR(1)
推荐阅读
- 移位减少解析
- 解析树的歧义性
- 如何在Python中使用TensorFlow 2和Keras预测股票价格()
- 如何在Python中使用OpenCV和PyTorch实现YOLO对象检测()
- Python如何使用Tensorflow 2和Keras实现文本分类()
- 如何在Python中使用OpenCV模糊图像中的人脸()
- 如何在Python中使用TensorFlow实现语音性别识别()
- 如何在Python中使用TensorFlow进行皮肤癌检测()
- 股票价格分析(如何使用Python介绍财务和技术指标())