OCaml .ml 파일과 Menhir .mly 파일이있는 프로젝트가 있습니다. ocamlbuild를 사용하여 프로젝트를 컴파일합니다..mly 파일에서 ocamlbuild와 함께 배터리 사용
내 _tags 파일이 한 줄이 포함되어
true: use_menhir, package(batteries)
모든 내가 .mly 파일에 배터리를 사용할 경우를 제외하고 잘 작동합니다. 내 .mly 파일에서 open Batteries ;;
이 %{
과 %}
사이 인 경우 ocamlbuild를 호출 할 때 "오류 : 언 바운드 모듈 배터리"가 나타납니다.
ocamlbuild이 같은 선돌 호출 될 때 것으로 보인다 :
/usr/bin/menhir --ocamlc '/usr/bin/ocamlfind ocamlc' --infer parser.mly
이 선돌의 --ocamlc
옵션에 -package batteries
(동등하거나 뭔가를) 추가 잊어.
어떻게 해결할 수 있습니까? 내 _tags 파일의 .mly 파일에 대한 특별한 규칙이 도움이 될 수 있습니까? 또는 ocamlbuild 버그입니까?
OCaml 4.00.1, Batteries 2.1 및 ocamlbuild 4.00.1을 사용하고 있습니다. 가장 최근에 출시 된 버전입니다. SVN 버전으로 작업하고 싶지 않기 때문에 지금 당장 버그가 붙어있는 것 같습니다. 상황을 해결해 주셔서 감사합니다. – p4bl0
예. svn 버전 : 'menhir --explain --infer -la 1 --table --ocamlc 'ocamlfind ocamlc -I + ocamlbuild -g -annot -bin-annot -strict-sequence -bin-annot -package yojson -package menhirLib -package ulex -package pprint -package fix -I 구문 분석 -I utils -I 입력 -I interpreter -I lib -I 컴파일러 -I mezzolib -I 테스트/단위 '-infer parsing/grammar.mly ' with 4.00.1 : '+ menhir --explain --infer -la 1 --table --ocamlc '/home/jonathan/.opam/4.00.1/bin/ocamlfind ocamlc -I 파싱 -I 유틸리티 -I 타이핑 - 나는 인터프리터 -I lib -I compiler -I mezzolib -I tests/unit '- 구문 분석/문법. –