Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.lang.reflect.Array;
- import java.util.HashSet;
- import java.util.Scanner;
- import java.util.Set;
- public class GLA {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- String line;
- Set<RegularDefinition> regDefsSet = new HashSet<>();
- while (true) {
- line = sc.nextLine();
- if (line.startsWith("%X"))
- break;
- String[] regDefinitionParams = line.split(" ");
- RegularDefinition regDef = new RegularDefinition(regDefinitionParams[0], regDefinitionParams[1]);
- regDefsSet.add(regDef);
- }
- for (RegularDefinition def : regDefsSet) {
- def.setTransitions(solve(regDefsSet, def.getTransitions()));
- }
- for (RegularDefinition def : regDefsSet) {
- System.out.println(def);
- }
- Set<States> statesSet = new HashSet<>();
- String[] states = line.split(" ");
- Array.
- for(String statName : statesSet) {
- }
- sc.close();
- }
- public static String solve(Set<RegularDefinition> set, String regularExpression) {
- for (RegularDefinition i : set)
- if (regularExpression.contains("|{" + i.getName() + "}|")
- || regularExpression.contains("{" + i.getName() + "}|")
- || regularExpression.contains("|{" + i.getName() + "}")) {
- i.setTransitions(solve(set, i.getTransitions()));
- regularExpression = swapIn(regularExpression, i.getName(), i.getTransitions());
- }
- return regularExpression;
- }
- public static String swapIn(String original, String remove, String insert) {
- String[] divided = original.split(remove);
- return divided[0] + "(" + insert + ")" + divided[1];
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement