(library (name surface) (public_name catala.surface) (libraries catala_utils menhirLib sedlex re zarith zarith_stubs_js shared_ast) (preprocess (pps sedlex.ppx visitors.ppx))) (rule (with-stdout-to lexer_en.ml (run %{bin:cppo} %{dep:lexer_en.cppo.ml} %{dep:lexer.cppo.ml}))) (rule (with-stdout-to lexer_fr.ml (run %{bin:cppo} %{dep:lexer_fr.cppo.ml} %{dep:lexer.cppo.ml}))) (rule (with-stdout-to lexer_pl.ml (run %{bin:cppo} %{dep:lexer_pl.cppo.ml} %{dep:lexer.cppo.ml}))) (menhir (modules tokens) (flags --only-tokens)) (menhir (modules tokens parser) (merge_into parser) (flags --external-tokens Tokens --table --explain)) (rule (target grammar.html) (action (run obelisk html -i -o %{target} %{dep:parser.mly}))) (documentation (package catala) (mld_files surface)) ;; No built-in support for Menhir's parser messages yet (rule (with-stdout-to parser.messages.new (run menhir %{dep:tokens.mly} %{dep:parser.mly} --base parser --list-errors))) (rule (with-stdout-to parser_errors.ml (run menhir %{dep:tokens.mly} %{dep:parser.mly} --base parser --compile-errors %{dep:parser.messages}))) (rule (with-stdout-to parser.messages.updated (run menhir %{dep:tokens.mly} %{dep:parser.mly} --base parser --update-errors %{dep:parser.messages}))) (rule (alias update-parser-messages) (action (diff parser.messages parser.messages.updated))) (rule (alias create-parser-messages) (action (diff parser.messages parser.messages.new)))