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

📄 codefile.java

📁 Java语言写的词法分析
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		    		            			{
		    		            				strBuffer.append(c);
		    		            				System.out.print(strBuffer.toString()
		    		            						+ "\t\t" + "relation operator" + "\t\n");
		    		            				c = strChar[++ i];
		    		            			} 
		    		            			else
		    		            			{
		    		            				if (c == '<') {
		    		            					strBuffer.append(c);
		    		            					System.out.print(strBuffer.toString() 
		    		            							+ "\t\t" + "position operator" + "\t\n");
		    		            					c = strChar[++ i];
		    		            				}
		    		            				else 
		    		            				{
		    		            					System.out.print(strBuffer.toString() 
		    		            							+ "\t\t" + "relation operator" + "\t\n");
		    		            				}
		    		            			}
		    		            			//strBuffer.delete(0, strBuffer.length());
		    		            			//strBuffer.append(c);
		    		            			i--;
		    		            			break;
		    		            case '!':
		    		            			strBuffer.append(c);
		    		            			c = strChar[++ i];
		    		            			if (c == '=')
		    		            			{
		    		            				strBuffer.append(c);
		    		            				System.out.print(strBuffer.toString()
		    		            						+ "\t\t" + "logic operator" + "\t\n");
		    		            				c = strChar[++ i];
		    		            			} 
		    		            			else 
		    		            			{
		    		            				System.out.print(strBuffer.toString()
		    		            						+ "\t\t" + "logic operator" + "\t\n");
		    		            			}
		    		            			i--;
		    		            			break;
		    		            case '&':
		    		            			strBuffer.append(c);
		    		            			c = strChar[++ i];
		    		            			if (c == '&')
		    		            			{
		    		            				strBuffer.append(c);
		    		            				System.out.print(strBuffer.toString()
		    		            						+ "\t\t" + "logic operator" + "\t\n");
		    		            				c = strChar[++ i];
		    		            			}
		    		            			else 
		    		            			{
		    		            				if (c == '=') 
		    		            				{
		    		            					strBuffer.append(c);
		    		            					System.out.print(strBuffer.toString()
		    		            							+ "\t\t" + "operator" + "\t\n");
		    		            					c = strChar[++ i];
		    		            				}
		    		            				else 
		    		            				{
		    		            					System.out.print(strBuffer.toString()
		    		            							+ "\t\t" + "logic operator" + "\t\n");
		    		            				}
		    		            			}
		    		            			i--;
		    		            			break;
		    		            case '|':
		    		            			strBuffer.append(c);
		    		            			c = strChar[++ i];
		    		            			if (c == '|') 
		    		            			{
		    		            				strBuffer.append(c);
		    		            				System.out.print(strBuffer.toString()
		    		            						+ "\t\t" + "logic operator" + "\t\n");
		    		            				c = strChar[++ i];
		    		            			}
		    		            			else 
		    		            			{
		    		            				if (c == '=')
		    		            				{
		    		            					strBuffer.append(c);
		    		            					System.out.print(strBuffer.toString() 
		    		            							+ "\t\t" + "operator" + "\t\n");
		    		            					c = strChar[++ i];
		    		            				}
		    		            				else
		    		            				{
		    		            					System.out.print(strBuffer.toString() 
		    		            							+ "\t\t" + "logic operator" + "\t\n");
		    		            				}
		    		            			}
		    		            			i--;
		    		            			break;
		    		            case '=':
		    		            			strBuffer.append(c);
		    		            			c = strChar[++ i];
		    		            			if (c == '=')
		    		            			{
		    		            				strBuffer.append(c);
		    		            				System.out.print(strBuffer.toString()
		    		            						+ "\t\t" + "operator" + "\t\n");
		    		            				c = strChar[++ i];
		    		            			}
		    		            			else
		    		            			{
		    		            				System.out.print(strBuffer.toString()
		    		            						+ "\t\t" + "operator" + "\t\n");
		    		            			}
		    		            			i--;
		    		            			break;
		    		            case '^':
		    		            			strBuffer.append(c);
		    		            			c = strChar[++ i];
		    		            			if (c == '=')
		    		            			{
		    		            				strBuffer.append(c);
		    		            				System.out.print(strBuffer.toString()
		    		            						+ "\t\t" + "operator" + "\t\n");
		    		            				c = strChar[++ i];
		    		            			} 
		    		            			else
		    		            			{
		    		            				System.out.print(strBuffer.toString()
		    		            						+ "\t\t" + "operator" + "\t\n");
		    		            			}
		    		            			i--;
		    		            			break;
		    		            case ',':
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "comma" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		            case ';':
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "separator" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		            case '(':
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "left bracket" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		            case ')':
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "right bracket" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		            case '{':
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "left aquare bracket" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		            case '}':
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "right large bracket" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		            case '[':
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "left aquare bracket" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		            case ']':
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "right aquare bracket" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		            case '\'':
		    		            			strBuffer.append(c);
		    		            			c = strChar[++ i];
		    		            			while (c != '\'') 
		    		            			{
		    		            				strBuffer.append(c);
		    		            				c = strChar[++ i];
		    		            			}
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "string" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		            case '\"':
		    		            			strBuffer.append(c);
		    		            			c = strChar[++ i];
		    		            			while (c != '\"')
		    		            			{
		    		            				strBuffer.append(c);
		    		            				c = strChar[++ i];
		    		            			}
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "sring" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		            case '.':
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "dot" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		            case '#':
		    		            			strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "saparator" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		    	    case ':':
		    		      				strBuffer.append(c);
		    		      				System.out.print(strBuffer.toString()
		    		      					+ "\t\t" + "colon" + "\t\n");
		    		      				c = strChar[++ i];
		    		      				i--;
		    		      				break;
		    		            case ' ':
		    		            case '\n':
		    		            case '\r':
		    		            case '\t':  c = strChar[++ i];
		    		            			i--;
		    		             			break;
		    		            default  : strBuffer.append(c);
		    		            			System.out.print(strBuffer.toString()
		    		            					+ "\t\t" + "error" + "\t\n");
		    		            			c = strChar[++ i];
		    		            			i--;
		    		            			break;
		    		      	  }//end switch 	  
		    		      }//end  oprator 
			    	 }//end number
			     }//end zimu
			}//end for
		}//end try
		catch (IOException e){}	
		catch (ArrayIndexOutOfBoundsException arr){}
		catch (NullPointerException n){}
	}
	
	public String checkWord(String str)
	{
		String key[] = { "auto", "break", "case", "char", "const", "continue",
			    "default", "do", "double", "else", "enum", "extern", "float",
			    "for", "goto", "if", "int", "long", "register", "return",
			    "short", "signed", "sizeof", "static", "struct", "switch",
			    "typedef", "union", "unsigned", "void", "volatile", "while" };
			   
		String pretreatment[] = {"define","endif","elif","error","line",
			    "include","ifdef","ifndef","pragma","undef","if","else"};
		for (int i = 0; i < 32; i++) 
		{
			if (str.equals(key[i]))
			return ("KEY");
		}
			  
		for (int i = 0; i < 12; i++) 
		{
			if (str.equals(pretreatment[i]))
			return ("PRETREATMENT KEY");
		}
			  
		return ("ID");
	}
	
}
	

⌨️ 快捷键说明

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