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

📄 byzy.java

📁 用模式匹配和字符传解析器分析代码,能区分关键字,标识符,数字
💻 JAVA
字号:
import javax.swing.*;
import java.awt.*;
import java.util.regex.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.util.*;
import java.applet.*;


public class Byzy extends Applet implements ActionListener
{
        TextArea text1,text2,text3,text4;
        Button b;
        Pattern p1,p2,p3;
        Matcher m1,m2,m3;
        Panel panel ,p;
        public void init()
        {
        		setLayout(new BorderLayout());
                b=new Button("确定");
                text1=new TextArea();
                text2=new TextArea();
                text3=new TextArea();
                text4=new TextArea();
                panel=new Panel();
                p=new Panel();
                panel.setLayout(new GridLayout(2,2));
                add(text1);add(text2);add(text3);add(text4);add(b);
                panel.add(text1);
                panel.add(text2);
                panel.add(text3);
                panel.add(text4);
                p.add(b);
                b.addActionListener(this);
                add(panel,BorderLayout.CENTER);
                add(p,BorderLayout.SOUTH);
        }
        public void actionPerformed(ActionEvent e)
        {

                text2.setText(null);
                text3.setText(null);
                String s1=text1.getText();
                StringTokenizer fenxi=new StringTokenizer(s1," ,;");
                int number=fenxi.countTokens();
                p1=Pattern.compile("[a-z]+",Pattern.CASE_INSENSITIVE);
                p2=Pattern.compile("[0123456789.]+");
                p3=Pattern.compile("int|double|float|new|printf|while|for|if|else");
                if(e.getSource()==b)
                {
                	while(fenxi.hasMoreTokens())
               	 {
               	   String str=fenxi.nextToken();
              	       m1=p1.matcher(str);
              	       m3=p3.matcher(str);
              	       m2=p2.matcher(str);
              	    while(m1.find()) {
              	    	if(m3.find()==true)
              	    	{text4.setText(text4.getText()+m3.group() + ",");}
              	    	else if(m3.find()==false)
              	      {text2.setText(text2.getText()+m1.group() + ",");}
             	     }
             	    
               	   	while(m2.find()) {
              	      text3.setText(text3.getText()+m2.group() + ",");
              	    }
               	     

                 }
                }

        }
}

⌨️ 快捷键说明

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