Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package javaapplication2;
- import java.io.File;
- import java.util.Arrays;
- import java.util.HashSet;
- import java.util.Iterator;
- import java.util.Scanner;
- import java.util.Set;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class JavaApplication2 {
- public static void main(String[] args) {
- System.out.println("Keywords : "+Arrays.toString(keyword("int|float|if|else").toArray()));
- System.out.println("Math Operators : "+Arrays.toString(keyword("[+\\-*=]").toArray()));
- System.out.println("Logical Operators : "+Arrays.toString(keyword("[<>]").toArray()));
- System.out.println("Numerical Values : "+Arrays.toString(keyword("\\d+(\\.\\d+)?").toArray()));
- System.out.println("Others : "+Arrays.toString(keyword("[(){}]").toArray()));
- Set set = keyword("[a-zA-Z0-9]{1,31}");
- Iterator<String> s = keyword("[a-zA-Z0-9]{1,31}").iterator();
- while(s.hasNext()){
- String str = s.next();
- if(str.matches("int|float|if|else|[0-9]+")){
- set.remove(str);
- }
- }
- System.out.println("Identifiers: "+Arrays.toString(set.toArray()));
- }
- public static Set keyword(String pattern){
- Set keyword = new HashSet<>();
- try {
- Scanner sc = new Scanner(new File("a.txt"));
- while(sc.hasNextLine()){
- Pattern patt = Pattern.compile(pattern);
- String s = sc.nextLine();
- Matcher match = patt.matcher(s);
- while(match.find()){
- keyword.add(match.group());
- }
- }
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- return keyword;
- }
- }
Add Comment
Please, Sign In to add comment