资源简介

LR分析法的实现 一、实验目的 实现一个关于表达式的LR语法分析程序,识别用户输入的包含变量与整数的混合算术表达式(不包含减法与除法运算)。 二、实验主要内容 1、文法如下: 0) SE 1) EE+E 2) EE*E 3) E(E) 4) Ei 2、对应的LR分析表如下: 状态 ACTION GOTO + * ( ) i # E 0     S2   S3   1 1 S4 S5       acc   2     S2   S3   6 3 r4 r4   r4   r4   4     S2   S3   7 5     S2   S3   8 6 S4 S5   S9

资源截图

代码片段和文件信息

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;


public class LR {
private int[][] ELR={{-1-12-13-11}
{45-1-1-10-1}
{-1-12-13-16}
{104104-1104-1104-1}
{-1-12-13-17}
{-1-12-13-18}
{45-19-1-1-1}
{1015-1101-1101-1}
{102102-1102-1102-1}
{103103-1103-1103-1}};
private List symbol=new ArrayList<>();
private Stack stateStack=new Stack<>();
private Stack symbolStack=new Stack<>();
private List expre=new ArrayList<>();
private String statement;
private int length=0;

public LR(String expression){
statement=

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        4551  2012-12-22 23:42  LR.java

评论

共有 条评论