(library
 (name qparser)
 (libraries 
   str
   menhirLib
   qsp_syntax
   sedlex
   )
 (preprocess (pps 
   sedlex.ppx
   ))
 )


(rule
 (targets parser_messages.ml)
 (deps expression_parser.messages tokens.mly qsp_expression.mly qsp_instruction.mly qsp_single_line.mly parser.mly)
 (action  (with-stdout-to %{targets} (run menhir --base parser.mly --compile-errors %{deps}))))

(menhir
  (modules tokens)
  (flags --only-tokens)
)


(menhir 
  (modules tokens parser qsp_instruction qsp_expression qsp_single_line)
  (flags --table --external-tokens Tokens)
  (merge_into parser)
)