anchor.diff:              printf "%A" result
   #endif
               ()
  -        | None , _, _         -> EmptyArg "file name" |>raise 
  -        | _, None, _          -> EmptyArg "frontend name" |> raise
  -        | _, _, None          -> EmptyArg "genearator name" |> raise
  -                
  +        | _, None, _          -> EmptyArg "frontend name (-f)" |> raise
  +        | _, _, None          -> EmptyArg "generator name (-g)" |> raise
  +        | None , _, _         -> EmptyArg "file name (-t)" |> raise 
       try
  -        run ()
  +        if !generateSomething = true then 
  +            run ()
       with 
       | InvalidFEName (feName)   -> 
           "Frontend with name " + feName + " is not available. Run \"Main.exe -af\" for get all available frontends.\n" 
  
positive.code:     
      let run () =
          match !testFile, !feName , !generatorName with
          | None, None, None                               -> ()
          | Some(fName), Some(feName), Some(generatorName) -> 
              let grammarFilePath = System.IO.Path.Combine((!testsPath).Value, fName)
              let fe =
  
negative.code:     }
  
  let () =     
      let defaultFE = "YardFrontend"
      let defaultGen = "RACCGenerator" 
  
      let feName = ref None
      let generatorName = ref None
      let testsPath = ref <| Some ""
      let testFile = ref None
  
      if Seq.exists ((=) defaultFE) FrontendsManager.AvailableFrontends then
          feName := Some(defaultFE)
      if Seq.exists ((=) defaultGen) GeneratorsManager.AvailableGenerators then
          generatorName := Some(defaultGen)
  
      let generateSomething = ref true
  
      let printItems iName items deft = 
          fun _ ->                 
              generateSomething := false                
              printfn "\nAvailable %s: " iName 
              Seq.map (fun x -> x + (if x=deft then " (default)" else "")) items
              |> String.concat "\n    " 
              |> fun x -> printf "    %s\n" x
  
      let commandLineSpecs =
          ["-f", ArgType.String (fun s -> feName := Some s), "Frontend name. Use -af to list available."
           "-af", ArgType.Unit (printItems "frontends" FrontendsManager.AvailableFrontends defaultFE), "Available frontends"
           "-g", ArgType.String (fun s -> generatorName := Some s), "Generator name. Use -ag to list available."
           "-ag", ArgType.Unit (printItems "generators" GeneratorsManager.AvailableGenerators defaultGen), "Available generators"
           "-i", ArgType.String (fun s -> 
                                     testFile := System.IO.Path.GetFileName(s) |> Some 
                                     testsPath := System.IO.Path.GetDirectoryName(s) |> Some), "Input grammar"         
  