[源码和文档分享]基于LL1文法的语法分析

时间:2022-06-05 06:43:44

一、目标

本次实验的目的是对编译器进行词法分析的过程进行模拟,我选择了在实际中更为通用的自底向上的词法分析器的分析过程,最终产生规约序列。对于LR(0)和LR(1)问题,我的程序对于LR(0)和LR(1)是通用的,因为只要给出合法的parsing table和上下文无关文法, 程序就能进行相应的词法分析,而parsing table和文法都是用户输入文件给出。

二、内容概述

本文档描述了编译原理课程实验中,语法分析器部分的实验内容,实验方案以及结果。

三、实验环境

  • 操作系统:win8.1
  • 编译器:eclipse
  • 使用的工具:github
  • 编码格式:utf-8

四、思路和核心思想

根据给出的文法,文法要求是非二义性的、非左递归的上下文无关文法,输入到product的文件中。从文件中读出输入的文法,先通过对输入的文法求每一个产生式中的非终结符的first和follow集合。来构建LL(1)的预测分析表。然后使用预测分析表来进行表格驱动,对于输入的串进行预测分析,使用书上的算法,现在在此处附上这算法,因为比较难打字,我附图:

[源码和文档分享]基于LL1文法的语法分析

[源码和文档分享]基于LL1文法的语法分析


参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1358.html