• 大小: 214KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-04
  • 标签: ifelse  LL1  java  GUI  

资源简介

(1)能够完成六种双目关系运算:<,>,<=,>=,==,!=,由于能力有限,只能完成如param1<param2而不能对param1+param2<param3+param4的分析 (2)因为LL(1)文法是自顶而下的,而且是从左往右分析,所以很难对多种有不同优先级运算进行分析,在这里我只使用了加法和赋值 (3)文法描述 1. S->if (B) then {S}else{S} 2. S->i:=E 3. E->TE’ 4. E’-> +T E’ 5. E’->% 6. T->i 7. B->i rop i 注:%代表空

资源截图

代码片段和文件信息

import java.io.*;
import java.util.*;
import java.lang.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Analyseframe extends Jframe {

Stack stack= new Stack();;
ArrayList boolList;// 布尔控制式
ArrayList EQUList1;// then的赋值表达式
ArrayList EQUList2;// else的赋值表达式
    String boolExp;
String EQUExp1;
String EQUExp2;
ArrayList stringlink = new ArrayList();// 保存if语句所有的信息
linkedList stringList = new linkedList();// 输入串
String stackHead = ““;// 记录栈首值和输入串串的首字符
String stringHead = ““;
int biaozhi = 0;// 在LL(1)分析中 1:匹配,2:不匹配要寻找产生式
int n;// 步骤n
int endbiaozhi = 0;// 分析不成功要推出的标志 1:不成功,即在分析表中对应的是一个空串而不是产生式
String chanshengshichuan = ““;// 产生式是字符串string需要一个字符一个字符的进行比较
String c

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      14749  2010-01-07 14:01  Analyseframe.java

     文件     449536  2010-01-10 14:17  我的编译课程设计.doc

----------- ---------  ---------- -----  ----

               464285                    2


评论

共有 条评论