@@ -0,0 +1,1190 @@
+package com.sourceclear.gramtest;%0A%0Aimport org.antlr.v4.runtime.*;%0A%0Aimport java.io.IOException;%0Aimport java.io.InputStream;%0Aimport java.util.List;%0Aimport java.util.concurrent.BlockingQueue;%0A%0A/**%0A *%0A */%0Apublic class TestRunner implements Runnable %7B%0A%0A  private ParserRuleContext tree;%0A  private GeneratorVisitor extractor;%0A  private BlockingQueue%3CString%3E queue;%0A%0A  TestRunner(InputStream bnfGrammar, BlockingQueue%3CString%3E queue) throws IOException %7B%0A    Lexer lexer = new bnfLexer(new ANTLRInputStream(bnfGrammar));%0A    CommonTokenStream tokens = new CommonTokenStream(lexer);%0A    bnfParser grammarparser = new bnfParser(tokens);%0A    this.tree = grammarparser.rulelist();%0A    this.queue = queue;%0A  %7D%0A%0A  public void run() %7B%0A    int depth = 1;%0A    int size = 1;%0A    while(true) %7B%0A      this.extractor = new GeneratorVisitor(depth + size, depth, size, true);%0A      this.extractor.visit(tree);%0A      List%3CString%3E generatedTests = this.extractor.getTests();%0A      for (String s: generatedTests)%0A        try %7B%0A          this.queue.put(s);%0A        %7D catch (InterruptedException e) %7B%0A          e.printStackTrace();%0A        %7D%0A      if((depth + size) %25 2 == 0) depth++;%0A      else size++;%0A    %7D%0A  %7D%0A%0A%7D%0A%0A

Add continuous test runner