           :LOAD (load-classes ast)
           :MC (let [threshold (read-string (last (last (first ast))))]
                 (mc-operation state threshold))
+          :F (f-operation state)
           (println "Command not implemented: " command))))))
 
 (defn interactive [state]

(def command-parser
  (insta/parser
   (str
    "<COMMAND> = HELP | EXIT | LOAD | LIST | MC            \n"
    "HELP = 'help' | 'h'                                   \n"
    "EXIT = 'exit' | 'quit' | 'q'                          \n"
    "LOAD = 'load' <WS> STR                                \n"
    "LIST = 'list'                                         \n"
    "MC  = ('mc'|'many-constructors') <WS> 'th' <WS> NUM   \n"
    "WS  = #'[\t ]+'                                       \n"
    "NUM = #'[0-9]+'                                       \n"
    "STR = #'\"[^\"]*\"'                                   \n")))

  (println "list                        : list classes loaded")
  (println "load DIR                    : load classes from DIR")
  (println "mc/many-constructors th NUM : list classes with NUM or more constructors")
  (println "f/finalizers                : list classes that use finalizers")
  (interactive state))

(defn- load-classes [ast]
