Advertisement
Guest User

Untitled

a guest
Oct 21st, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. import java.lang.reflect.Array;
  2. import java.util.HashSet;
  3. import java.util.Scanner;
  4. import java.util.Set;
  5.  
  6. public class GLA {
  7.  
  8. public static void main(String[] args) {
  9.  
  10. Scanner sc = new Scanner(System.in);
  11. String line;
  12. Set<RegularDefinition> regDefsSet = new HashSet<>();
  13.  
  14. while (true) {
  15. line = sc.nextLine();
  16. if (line.startsWith("%X"))
  17. break;
  18.  
  19. String[] regDefinitionParams = line.split(" ");
  20. RegularDefinition regDef = new RegularDefinition(regDefinitionParams[0], regDefinitionParams[1]);
  21. regDefsSet.add(regDef);
  22.  
  23. }
  24.  
  25. for (RegularDefinition def : regDefsSet) {
  26. def.setTransitions(solve(regDefsSet, def.getTransitions()));
  27. }
  28.  
  29.  
  30. for (RegularDefinition def : regDefsSet) {
  31. System.out.println(def);
  32. }
  33.  
  34. Set<States> statesSet = new HashSet<>();
  35. String[] states = line.split(" ");
  36. Array.
  37. for(String statName : statesSet) {
  38.  
  39. }
  40.  
  41. sc.close();
  42. }
  43.  
  44. public static String solve(Set<RegularDefinition> set, String regularExpression) {
  45. for (RegularDefinition i : set)
  46. if (regularExpression.contains("|{" + i.getName() + "}|")
  47. || regularExpression.contains("{" + i.getName() + "}|")
  48. || regularExpression.contains("|{" + i.getName() + "}")) {
  49. i.setTransitions(solve(set, i.getTransitions()));
  50. regularExpression = swapIn(regularExpression, i.getName(), i.getTransitions());
  51. }
  52. return regularExpression;
  53. }
  54.  
  55. public static String swapIn(String original, String remove, String insert) {
  56. String[] divided = original.split(remove);
  57. return divided[0] + "(" + insert + ")" + divided[1];
  58. }
  59.  
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement