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

  • 大小: 1.52MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-30
  • 語言: Java
  • 標簽:

資源簡介

編譯原理課設作業,java實現,附上實驗報告以及答辯ppt 實現詞法分析,語法分析,語義分析

資源截圖

代碼片段和文件信息

package?Main;

import?java.io.BufferedInputStream;
import?java.io.BufferedOutputStream;
import?java.io.BufferedReader;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.io.OutputStreamWriter;
import?java.io.PrintWriter;
import?java.util.ArrayList;
import?java.util.Stack;

/*詞法分析器?*/
public?class?CFFX?{

public?ArrayList?WL?=?new?ArrayList();//?單詞表
public?ArrayList?EL?=?new?ArrayList();//?錯誤信息列表
public?static?ArrayList?IL?=?new?ArrayList();//?int集合
public?static?ArrayList?CL?=?new?ArrayList();//?char集合
public?static?ArrayList?TL?=?new?ArrayList();//?char集合
public?int?wcnt?=?0;//?統計單詞個數
public?int?ecnt?=?0;//?統計錯誤個數
public?boolean?noteFlag?=?false;//?多行注釋標志
public?boolean?ErrorFlag?=?false;//?詞法分析出錯標志
public?Stack??typestack=new?Stack();//類型棧
public?CFFX(String?str)?{
CFFX(str);
}
/*數字字符判斷*/
private?static?boolean?isDigit(char?ch)?{
boolean?flag?=?false;
if?(‘0‘?<=?ch?&&?ch?<=?‘9‘)
flag?=?true;
return?flag;
}

/*判斷單詞是否為int常量*/
private?static?boolean?isInteger(String?word)?{
int?i;
boolean?flag?=?false;
for?(i?=?0;?i? if?(Character.isDigit(word.charAt(i)))?{
continue;
}?else?{
break;
}
}
if?(i?==?word.length())?{
flag?=?true;
}
return?flag;
}

/*判斷單詞是否為char常量*/
private?static?boolean?isChar(String?word)?{
boolean?flag?=?false;
int?i?=?0;
char?temp?=?word.charAt(i);
if?(temp?==?‘\‘‘)?{
for?(i?=?1;?i? temp?=?word.charAt(i);
if?(0?<=?temp?&&?temp?<=?255)
continue;
else
break;
}
if?(i?+?1?==?word.length()?&&?word.charAt(i)?==?‘\‘‘)
flag?=?true;
}?else
return?flag;

return?flag;
}

/*判斷字符是否為字母*/
private?static?boolean?isLetter(char?ch)?{
boolean?flag?=?false;
if?((‘a‘?<=?ch?&&?ch?<=?‘z‘)?||?(‘A‘?<=?ch?&&?ch?<=?‘Z‘))
flag?=?true;
return?flag;
}

/*判斷單詞是否為合法標識符*/
private?static?boolean?isID(String?word)?{
boolean?flag?=?false;
int?i?=?0;
if?(Word.isKey(word))
return?flag;
char?temp?=?word.charAt(i);
if?(isLetter(temp)?||?temp?==?‘_‘)?{
for?(i?=?1;?i? temp?=?word.charAt(i);
if?(isLetter(temp)?||?temp?==?‘_‘?||?isDigit(temp))
continue;
else
break;
}
if?(i?>=?word.length())
flag?=?true;
}?else
return?flag;

return?flag;
}

/*判斷詞法分析是否通過*/
public?boolean?isFail()?{
return?ErrorFlag;
}

public?void?analyse(String?str?int?line)?{
int?beginIndex;
int?endIndex;
int?index?=?0;
int?length?=?str.length();
Word?word?=?null;
Typeword?typeword=null;
Error?error;
char?temp;
while?(index? temp?=?str.charAt(index);
if?(!noteFlag)?{
if?(isLetter(temp)?||?te

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????301??2017-05-09?12:57??編譯原理課設\MiniC\.classpath

?????文件????????381??2017-05-09?12:57??編譯原理課設\MiniC\.project

?????文件????????598??2017-05-09?12:57??編譯原理課設\MiniC\.settings\org.eclipse.jdt.core.prefs

?????文件?????????87??2017-05-09?13:39??編譯原理課設\MiniC\a.txt

?????文件??????13537??2017-05-09?17:23??編譯原理課設\MiniC\bin\Main\CFFX.class

?????文件????????505??2017-05-09?16:31??編譯原理課設\MiniC\bin\Main\Error.class

?????文件????????596??2017-05-09?17:22??編譯原理課設\MiniC\bin\Main\FOUR.class

?????文件???????2807??2017-05-09?17:22??編譯原理課設\MiniC\bin\Main\Node.class

?????文件????????694??2017-05-09?13:15??編譯原理課設\MiniC\bin\Main\Typeword.class

?????文件???????2814??2017-05-09?17:23??編譯原理課設\MiniC\bin\Main\Word.class

?????文件??????24011??2017-05-09?17:22??編譯原理課設\MiniC\bin\Main\YFFX.class

?????文件???????1868??2017-05-09?17:48??編譯原理課設\MiniC\bin\VIEW\VIEW$1.class

?????文件???????2054??2017-05-09?17:48??編譯原理課設\MiniC\bin\VIEW\VIEW$2.class

?????文件???????1753??2017-05-09?17:48??編譯原理課設\MiniC\bin\VIEW\VIEW$3.class

?????文件???????1778??2017-05-09?17:48??編譯原理課設\MiniC\bin\VIEW\VIEW$4.class

?????文件????????685??2017-05-09?17:48??編譯原理課設\MiniC\bin\VIEW\VIEW$5.class

?????文件???????6186??2017-05-09?17:48??編譯原理課設\MiniC\bin\VIEW\VIEW.class

?????文件????????131??2017-05-13?10:18??編譯原理課設\MiniC\ifelse.txt

?????文件?????????64??2017-05-09?18:10??編譯原理課設\MiniC\result\FOUR.txt

?????文件????????191??2017-05-09?18:10??編譯原理課設\MiniC\result\LL1.txt

?????文件????????115??2017-05-09?18:10??編譯原理課設\MiniC\result\WL.txt

?????文件?????????96??2017-05-09?16:31??編譯原理課設\MiniC\result\wordList.txt

?????文件??????17002??2017-05-09?17:22??編譯原理課設\MiniC\src\Main\CFFX.java

?????文件????????272??2017-05-09?16:31??編譯原理課設\MiniC\src\Main\Error.java

?????文件????????349??2017-05-09?17:22??編譯原理課設\MiniC\src\Main\FOUR.java

?????文件???????2669??2017-05-09?17:22??編譯原理課設\MiniC\src\Main\Node.java

?????文件????????319??2017-05-09?13:15??編譯原理課設\MiniC\src\Main\Typeword.java

?????文件???????3096??2017-05-09?17:23??編譯原理課設\MiniC\src\Main\Word.java

?????文件??????31012??2017-05-09?17:22??編譯原理課設\MiniC\src\Main\YFFX.java

?????文件???????7249??2017-05-09?17:48??編譯原理課設\MiniC\src\VIEW\VIEW.java

............此處省略18個文件信息

評論

共有 條評論