Package wyautl.core

Examples of wyautl.core.Automaton$State


  private void readTypePool(int size) throws IOException {
    final SemanticType[] myTypePool = new SemanticType[size];
    BinaryAutomataReader reader = new BinaryAutomataReader(input,
        Types.SCHEMA);
    Automaton global = reader.read();

    for (int i = 0; i != size; ++i) {
      Automaton automaton = new Automaton();
      int root = automaton.addAll(global.getRoot(i), global);
      automaton.setRoot(0, root);
      SemanticType t = SemanticType.construct(automaton);
      myTypePool[i] = t;
    }

    typePool = myTypePool;
View Full Code Here


    myOut();
  }

  private void writeSchema(Type.Term tt) {
    Automaton automaton = tt.automaton();
    BitSet visited = new BitSet(automaton.nStates());
    writeSchema(automaton.getRoot(0), automaton, visited);
  }
View Full Code Here

  }

  private void writeTypePool(BinaryOutputStream output) throws IOException {
    // First, we accumulate the automata for all types in the pool into one
    // automaton. This helps reduce the amount of redundancy between types.
    Automaton global = new Automaton();
    for (int i = 0; i != typePool.size(); ++i) {
      Automaton automaton = typePool.get(i).automaton();
      int root = global.addAll(automaton.getRoot(0), automaton);
      global.setRoot(i, root);
    }

    global.minimise();
    global.compact();
View Full Code Here

        // this is basically a hack to allow reading in wyone files so
        // we can debug them.
        try {
          FileInputStream fin = new FileInputStream(args.get(0));
          PrettyAutomataReader reader = new PrettyAutomataReader(fin,SCHEMA);
          Automaton automaton = reader.read();

          new PrettyAutomataWriter(System.err, SCHEMA, "And",
              "Or").write(automaton);
          IterativeRewriter.Strategy<InferenceRule> inferenceStrategy = new UnfairStateRuleRewriteStrategy<InferenceRule>(
              automaton, Solver.inferences, Solver.SCHEMA);
View Full Code Here

    }

  private static void reduce(String text, RewriteMode rwMode) {
    try {
      Parser parser = new Parser(text);
      Automaton automaton = new Automaton();
      int root = parser.parse(automaton);
      automaton.setRoot(0, root);

      PrettyAutomataWriter writer = new PrettyAutomataWriter(System.out,
          Arithmetic.SCHEMA, "Or", "And");
      System.out.println("------------------------------------");
      writer.write(automaton);
View Full Code Here

    }

    private static void reduce(String text, RewriteMode rwMode) {
  try {
      Parser parser = new Parser(text);
      Automaton automaton = new Automaton();
      int root = parser.parse(automaton);
      automaton.setRoot(0, root);

      PrettyAutomataWriter writer = new PrettyAutomataWriter(System.out,
                   Quantifiers.SCHEMA, "Or", "And");
      System.out.println("------------------------------------");
      writer.write(automaton);
View Full Code Here

   * @param type
   * @return the minimal size, or Integer.MAX_VALUE (to signal infinity ---
   *         which *should* be impossible).
   */
  public static int minimumSize(Type type) {
    Automaton automaton = type.automaton();
    automaton.compact();
    automaton.minimise();
    BitSet onStack = new BitSet();
    int size = minimumSize(automaton.getRoot(0), onStack, automaton);
    if(size < 0) {
      throw new RuntimeException("PROBLEM --- " + type);
    }
    return size;
  }
View Full Code Here

    }

    private static void reduce(String text, RewriteMode rwMode) {
  try {
      Parser parser = new Parser(text);
      Automaton automaton = new Automaton();
      int root = parser.parse(automaton);
      automaton.setRoot(0, root);

      PrettyAutomataWriter writer = new PrettyAutomataWriter(System.out,
                   Closure.SCHEMA, "Or", "And");
      System.out.println("------------------------------------");
      writer.write(automaton);
View Full Code Here

    }

    private static void reduce(String text, RewriteMode rwMode) {
    try {
      Parser parser = new Parser(text);
      Automaton automaton = new Automaton();
      int root = parser.parse(automaton);
      automaton.setRoot(0, root);

      PrettyAutomataWriter writer = new PrettyAutomataWriter(System.out,
          Logic.SCHEMA, "Or", "And");
      System.out.println("------------------------------------");
      writer.write(automaton);
View Full Code Here

  }

  public static void check(String line) {
    boolean unsat = line.charAt(0) == 'u';
    Parser parser = new Parser(line.substring(2));
    Automaton automaton = new Automaton();
    int root = parser.parse(automaton);
    automaton.setRoot(0, root);

    StrategyRewriter.Strategy<InferenceRule> inferenceStrategy = new SimpleRewriteStrategy<InferenceRule>(
        automaton, Arithmetic.inferences);
    StrategyRewriter.Strategy<ReductionRule> reductionStrategy = new SimpleRewriteStrategy<ReductionRule>(
        automaton, Arithmetic.reductions);
    StrategyRewriter rw = new StrategyRewriter(automaton,
        inferenceStrategy, reductionStrategy, Arithmetic.SCHEMA);
    rw.apply(10000);

    boolean result = automaton.get(automaton.getRoot(0)).equals(Arithmetic.False);
    if(result != unsat) {
      System.out.println("\n\n*** TEST FAILED: " + line + "\n");
    }

    // else if(Arithmetic.numSteps >= Arithmetic.MAX_STEPS) {
View Full Code Here

TOP

Related Classes of wyautl.core.Automaton$State

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.