📄 核心代码.txt
字号:
核心代码:
public void scan() //扫描文件
{
analyser.outputArea.setText("");
//用正则表达式查找匹配字符
Matcher m=
Pattern.compile("/\\*.*\\*/|\'.+\'|(\\++|\\--|\\>=|\\<=)|\\d+\\.\\d*|\\w+|\".+\"|\\S").matcher(analyser.inputArea.getText());
while(m.find()){
check(m.group());
}
}
private void check(String s) //检测匹配字符串
{
if(Character.isDigit(s.charAt(0)))
checkDigit(s);
else if(s.length()>8)
out("the length>8",s);
else if(s.length()==1)
{
checkChar(s.charAt(0));
}
else{
checkString(s);
}
}
private void checkDigit(String s) //检测数字
{
if(s.indexOf(".")!=-1)
out("浮点数",Double.valueOf(s).toString());
else
out("整数",s);
}
private void checkChar(char c) //检测单个字符
{
switch (c){
case '<':
out("小于号", c);
break;
case '>':
out("大于号", c);
break;
case '=':
out("等于号", c);
break;
case '+':
out("加号", c);
break;
case '-':
out("减号", c);
break;
case '*':
out("乘号", c);
break;
case '/':
out("除号", c);
break;
case '(':
out("左小括号", c);
break;
case ')':
out("右小括号", c);
break;
case '[':
out("左中括号", c);
break;
case ']':
out("右中括号", c);
break;
case '{':
out("左大括号", c);
break;
case '}':
out("右大括号", c);
break;
case ',':
out("逗号", c);
break;
case ';':
out("分号", c);
break;
case '!':
out("取反", c);
break;
case '.':
out("点号", c);
break;
case ':':
out("冒号", c);
break;
default:
out("标识符", c);
break;
}
}
private void checkString(String s) //检测多个字符
{
if(s.charAt(0)=='\'')
out("字符", s);
else if(s.charAt(0)=='"')
out("字符串", s);
else if(s.charAt(0)=='/')
out("注释",s);
else if(s.equals("++"))
out("自加符", s);
else if(s.equals("--"))
out("自减符", s);
else if(s.equals(">="))
out("大于等于", s);
else if(s.equals("<="))
out("小于等于", s);
else if(s.equals("div"))
out("除以",s);
else if(s.equals("mod"))
out("取余",s);
else if(isKeyWord(s))
out("关键字", s);
else
out("标识符", s);
}
private boolean isKeyWord(String s) //是否是关键字
{
boolean b=false;
for(int i=0;i<KEY_WORD.length;i++)
if(s.equals(KEY_WORD[i]))
b=true;
return b;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -