amitdutta121

CSE420 Lab01

Oct 3rd, 2018
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.87 KB | None | 0 0
  1.  
  2. package javaapplication2;
  3.  
  4. import java.io.File;
  5. import java.util.Arrays;
  6. import java.util.HashSet;
  7. import java.util.Iterator;
  8. import java.util.Scanner;
  9. import java.util.Set;
  10. import java.util.regex.Matcher;
  11. import java.util.regex.Pattern;
  12.  
  13. public class JavaApplication2 {
  14.  
  15.     public static void main(String[] args) {
  16.         System.out.println("Keywords : "+Arrays.toString(keyword("int|float|if|else").toArray()));
  17.         System.out.println("Math Operators : "+Arrays.toString(keyword("[+\\-*=]").toArray()));
  18.         System.out.println("Logical Operators : "+Arrays.toString(keyword("[<>]").toArray()));
  19.         System.out.println("Numerical Values : "+Arrays.toString(keyword("\\d+(\\.\\d+)?").toArray()));
  20.         System.out.println("Others : "+Arrays.toString(keyword("[(){}]").toArray()));
  21.        
  22.         Set set = keyword("[a-zA-Z0-9]{1,31}");
  23.         Iterator<String> s = keyword("[a-zA-Z0-9]{1,31}").iterator();
  24.         while(s.hasNext()){
  25.             String str = s.next();
  26.             if(str.matches("int|float|if|else|[0-9]+")){
  27.                 set.remove(str);
  28.             }
  29.         }
  30.         System.out.println("Identifiers: "+Arrays.toString(set.toArray()));
  31.     }
  32.    
  33.     public static Set keyword(String pattern){
  34.         Set keyword = new HashSet<>();
  35.          
  36.         try {
  37.            Scanner sc = new Scanner(new File("a.txt"));
  38.            
  39.             while(sc.hasNextLine()){
  40.                 Pattern patt = Pattern.compile(pattern);
  41.                
  42.                 String s = sc.nextLine();
  43.                
  44.                 Matcher match = patt.matcher(s);
  45.                
  46.                 while(match.find()){
  47.                     keyword.add(match.group());
  48.                 }
  49.                        
  50.             }
  51.         } catch (Exception ex) {
  52.             ex.printStackTrace();
  53.         }
  54.         return keyword;
  55.     }
  56. }
Add Comment
Please, Sign In to add comment