Parsing 如何为非常简单的编程语言创建Lr(1)解析器

Parsing 如何为非常简单的编程语言创建Lr(1)解析器,parsing,lr1,Parsing,Lr1,我需要为带有变量、简单条件、周期和函数的代码创建解析器,比如: f=1; i=1; while(i<10){ f=f*i; i=i+1; } print(f); f=1; i=1; while(iWhy)是否有必要不使用解析器生成器?一个LR(1)解析器通常使用堆栈并执行移位和缩减操作。因为这是我的家庭作业:D我只需要LR解析器的任何工作示例,然后我将通过添加新功能来改进它。Appel的《X中的现代编译器实现》一书详细介绍了如何将上下文无关语法转换为LR解析器。

我需要为带有变量、简单条件、周期和函数的代码创建解析器,比如:

f=1;
i=1;
while(i<10){
  f=f*i;
  i=i+1;
}
print(f);
f=1;
i=1;

while(iWhy)是否有必要不使用解析器生成器?一个LR(1)解析器通常使用堆栈并执行移位和缩减操作。因为这是我的家庭作业:D我只需要LR解析器的任何工作示例,然后我将通过添加新功能来改进它。Appel的《X中的现代编译器实现》一书详细介绍了如何将上下文无关语法转换为LR解析器。