(ocamllex LexToken) (ocamllex Lexer) (menhir (merge_into Parser) (modules ParToken Parser) (flags -la 1 --explain --external-tokens LexToken)) (executables (names LexerMain ParserMain) (public_names ligo-lexer ligo-parser) (package ligo-parser) (modules_without_implementation Error) (libraries getopt hex str uutf zarith)) ;; Les deux directives (rule) qui suivent sont pour le dev local. ;; Il suffit de faire "dune build Parser.exe" pour avoir un Parser.exe dans le dossier. ;; Pour le purger, il faut faire "dune clean". (rule (targets Parser.exe) (deps ParserMain.exe) (action (copy ParserMain.exe Parser.exe)) (mode promote-until-clean)) (rule (targets Lexer.exe) (deps LexerMain.exe) (action (copy LexerMain.exe Lexer.exe)) (mode promote-until-clean)) (rule (targets dot_git_is_dir) (deps check_dot_git_is_dir.sh) (action (run "sh" "check_dot_git_is_dir.sh"))) (rule (targets .git_main_dir) (deps dot_git_is_dir check_dot_git_is_dir.sh) (action (progn (run "sh" "check_dot_git_is_dir.sh") (run "sh" "-c" "if \"$(cat dot_git_is_dir)\" = true; then printf %s '../../.git' > .git_main_dir; else cat ../../.git | sed -e 's/^gitdir: //' | sed -e 's|$|/../..|' > .git_main_dir; fi")))) (rule (targets .git_worktree_dir) (deps dot_git_is_dir check_dot_git_is_dir.sh) (action (progn (run "sh" "check_dot_git_is_dir.sh") (run "sh" "-c" "if \"$(cat dot_git_is_dir)\" = true; then printf %s '../../.git' > .git_worktree_dir; else cat ../../.git | sed -e 's/^gitdir: //' > .git_worktree_dir; fi")))) (rule (targets .gitHEAD) (deps .git_main_dir .git_worktree_dir check_dot_git_is_dir.sh) (action (progn (run "sh" "check_dot_git_is_dir.sh") (run "sh" "-c" "ln -s \"$(cat .git_worktree_dir)/HEAD\" .gitHEAD")))) (rule (targets Version.gitHEAD) (deps .gitHEAD check_dot_git_is_dir.sh) (action (progn (run "sh" "check_dot_git_is_dir.sh") (run "sh" "-c" "if git symbolic-ref HEAD >/dev/null 2>&1; then ln -s \"$(cat .git_main_dir)/$(git symbolic-ref HEAD)\" Version.gitHEAD; else ln -s \"$(cat .git_worktree_dir)/HEAD\" Version.gitHEAD; fi")))) (rule (targets Version.ml) (deps Version.gitHEAD check_dot_git_is_dir.sh) (action (progn (run "sh" "check_dot_git_is_dir.sh") (run "sh" "-c" "printf 'let version = \"%s\"'\\\\n \"$(git describe --always --dirty --abbrev=0)\" > Version.ml"))) (mode promote-until-clean))