91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

實現(xiàn)一個的目標(biāo)代碼生成程序 識別用戶輸入的關(guān)于標(biāo)識符與整數(shù)的含加法 乘法的賦值表達(dá)式并輸出四元式序列 1 賦值表達(dá)式文法如下: 0 S A 1 A i E 2 E E 3 E E E 4 E E+E 5 E E 6 E i 輸入關(guān)于標(biāo)識符與整數(shù)的含賦值 加法 乘法 括號的賦值表達(dá)式 輸出對應(yīng)的匯編語言序列 只考慮僅含一個寄存器的情形 且表達(dá)式中不存在跳轉(zhuǎn)匯編指令和標(biāo)號;">實現(xiàn)一個的目標(biāo)代碼生成程序 識別用戶輸入的關(guān)于標(biāo)識符與整數(shù)的含加法 乘法的賦值表達(dá)式并輸出四元式序列 1 賦值表達(dá)式文法如下: 0 S A 1 A i E 2 E E 3 E E E 4 E E+E 5 E E 6 E i 輸入關(guān)于標(biāo)識符與整數(shù)的含賦 [更多]

資源截圖

代碼片段和文件信息

package?chapter_four;

import?java.util.ArrayList;
import?java.util.Scanner;


public?class?test4?{

static?int?[][]?E_LR?=?{{?-1?-1?-1?-1?-1?-1??2?-1??1?-1}
? {?-1?-1?-1?-1?-1?-1?-1??0?-1?-1}
? {??3?-1?-1?-1?-1?-1?-1?-1?-1?-1}
? ????????{?-1??5?-1?-1??6?-1??7?-1?-1??4}
? {?-1?-1??8??9?-1?-1?-1101?-1?-1}
? {?-1??5?-1?-1??6?-1??7?-1?-1?10}
? {?-1??5?-1?-1??6?-1??7?-1?-1?11}
? {?-1?-1106106?-1106?-1106?-1?-1}
? {?-1??5?-1?-1??6?-1??7?-1?-1?12}
? {?-1??5?-1?-1??6?-1??7?-1?-1?13}
? ????{?-1?-1102102?-1102?-1102?-1?-1}
? ????{?-1?-1??8??9?-1?14?-1?-1?-1?-1}
? ????{?-1?-1103103?-1103?-1103?-1?-1}
? ????{?-1?-1??8104?-1104?-1104?-1?-1}
? ????{?-1?-1105105?-1105?-1105?-1?-1}};
static?String?str?=?“=-*+()i#AE“;
static?ArrayList?state?=?new?ArrayList();
static?ArrayList?fuhao?=?new?ArrayList();
static?ArrayList?data?=?new?ArrayList();
static?ArrayList?check?=?new?ArrayList();
static?ArrayList?supply?=?new?ArrayList();
static?int?max?=?data.size();
static?int?table?=?0;
static?String?dutou?=?““;
static?String?zhizhen?=?““;
static?String?string?=?““;
static?int?n?=?0;
static?String?op1?=?““;
static?String?T?=?“T0“;
static?int?index?=?0;
public?static?void?main(String[]?args)?{
System.out.println(“請輸入一個賦值表達(dá)式(不包含減法與除法):“);
Scanner?input?=?new?Scanner(System.in);
String?str?=?input.nextLine();
string?=?str;
str?+=?“?#“;
str?=?str.replace(“=“?“?=?“);
str?=?str.replace(“-“?“?-?“);
str?=?str.replace(“(“?“?(?“);
str?=?str.replace(“)“?“?)?“);
str?=?str.replace(“+“?“?+?“);
str?=?str.replace(“*“?“?*?“);
str?=?str.replace(“#“?“?#?“);
String?s?=?““;
for(int?i=0;i if(str.charAt(i)?!=?‘?‘){
s?+=?str.charAt(i);
}else{
data.add(s);
s=““;
continue;
}
}
deleteBlack(data);
check.addAll(data);
for(int?i=0;i if(!data.get(i).equals(“(“)&&!data.get(i).equals(“)“)&&!data.get(i).equals(“+“)
&&!data.get(i).equals(“*“)&&!data.get(i).equals(“#“)
&&!data.get(i).equals(“=“)&&!data.get(i).equals(“-“)){
if(judge1(data.get(i))||judge2(data.get(i))){
data.set(i?“i“);
}else{
System.out.println(“標(biāo)識符或數(shù)字“+data.get(i)+“有誤!“);
System.exit(0);
}
}
}
System.out.println(“結(jié)果如下:“);
state.add(“0“);
fuhao.add(“#“);
supply.add(“#“);
dutou?=?data.get(n);?
zhizhen?=?check.get(n);

if(!dutou.equals(“E“)&&!dutou.equals(“(“)&&!dutou.equals(“i“)){
System.out.println(“表達(dá)式無第一個操作數(shù)“);
System.exit(0);
}
while(true){
int?x?=?getindex1();//獲取state棧頂元素在表中位置
int?y?=?getindex2(dutou);//獲取讀頭在表中位置位置
table?=?E_LR[x][y];
if(table?==?0){
System.exit(0);
}els

評論

共有 條評論