⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 errormethod.java

📁 一个小的编译器,可以模仿类似c语言的语法。很适合初级java学习者
💻 JAVA
字号:
class ErrorMethod
{
	public void error(String s,int i,String t,int j)
	{
		boolean flag = true;
		for(int k=0;k<ParsingMethod.errorNum&&flag;k++)
		{
			if(ParsingMethod.errorLines[k]==j)
			{
				flag = false;
			}
		}
		if(flag)
		{
			ParsingMethod.errorLines[ParsingMethod.errorNum]=j;
			errorDispose(s,i,t,j);
		}
	}

	public void errorDispose(String s,int i,String t,int j)
	{
		if(s.equals("nothing")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("There is nothing in compile area"+String.valueOf('\n'));
		}
		
		if(s.equals("symbol")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("You have use the protected word:"+t+"as a symbol"+String.valueOf('\n'));
		}
		if(s.equals("symbol")&&i==1)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The symbol "+t+" is not existing"+String.valueOf('\n'));
		}
		if(s.equals("symbol")&&i==2)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("DEFINE ERROR:The symbol "+t+" has been defined"+String.valueOf('\n'));
		}
		
		if(s.equals("sign")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("Lack of "+t+String.valueOf('\n'));
		}
		
		if(s.equals("main")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The define of Main Program is wrong"+String.valueOf('\n'));
		}
		if(s.equals("main")&&i==1)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("There is something wrong in"+t+String.valueOf('\n'));
		}
		
		if(s.equals("define")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The defination of "+t+"is wrong"+String.valueOf('\n'));
		}
		if(s.equals("define")&&i==1)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("There is no end sign of the define sentence"+String.valueOf('\n'));
		}
		if(s.equals("define")&&i==2)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The "+t+" is out of length"+String.valueOf('\n'));
		
		}
		if(s.equals("define")&&i==3)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The symbol "+t+"'s type isn't char"+String.valueOf('\n'));
			
		}
		
		if(s.equals("express")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("There is something wrong with express"+String.valueOf('\n'));
		}
		if(s.equals("express")&&i==1)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The type of "+t+" doesn't match"+String.valueOf('\n'));
		}
	
		
		if(s.equals("evaluate")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("Evaluate sentence is lack of ';'"+String.valueOf('\n'));
		}
		if(s.equals("evaluate")&&i==1)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The defination of evaluate sentence is wrong"+String.valueOf('\n'));
		}
		if(s.equals("evaluate")&&i==2)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The symbol "+t+" is out of length"+String.valueOf('\n'));
		}
		if(s.equals("internal")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("That's the nosense of the head"+String.valueOf('\n'));
		}
		
		if(s.equals("logicExpress")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The logic express' defination is wrong"+String.valueOf('\n'));
		}
	
	
		if(s.equals("for")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("For sentence's initialization is wrong"+String.valueOf('\n'));
		}
		if(s.equals("for")&&i==1)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The step increase of for sentence is wrong"+String.valueOf('\n'));
		}
		
		if(s.equals("single")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("There is nosense of the sencent"+String.valueOf('\n'));
		}
		
		if(s.equals("file")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The file's importing defination is wrong"+String.valueOf('\n'));
		}
		if(s.equals("file")&&i==1)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The defination of importing file is lack of "+t+String.valueOf('\n'));
		}
		if(s.equals("file")&&i==2)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The "+t+" is not a file name"+String.valueOf('\n'));
		}
		if(s.equals("file")&&i==3)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The "+t+" is lacl of postfix"+String.valueOf('\n'));
		}
		if(s.equals("file")&&i==4)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("There is extra words"+String.valueOf('\n'));
		}
		if(s.equals("printf")&&i==0)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("There is something wrong in printf sentence"+String.valueOf('\n'));
		}
		if(s.equals("printf")&&i==1)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The type of printf sentence doesn't match"+String.valueOf('\n'));
			
		}
		if(s.equals("printf")&&i==2)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The number of printf sentence's symbol isn't right"+String.valueOf('\n'));
		}
		
		if(s.equals("scanf")&&i==0)
		{	
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("There is something wrong in scanf sentence"+String.valueOf('\n'));
			
		}
		if(s.equals("scanf")&&i==1)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The type of scanf sentence doesn't match"+String.valueOf('\n'));
		
			
		}
		if(s.equals("scanf")&&i==2)
		{
			CompileFrame.errorArea.append("The line "+String.valueOf(j)+" :");
			CompileFrame.errorArea.append("The number of scanf sentence's symbol isn't right"+String.valueOf('\n'));
		}
		
		////////falt ///////////////////
		ParsingMethod.successFlag = false;
		ParsingMethod.errorNum++;
		ParsingMethod.matchStackPointer=0;
		ParsingMethod.matchQueueHead=ParsingMethod.matchQueueTail=0;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -