私はvs 2013で動作するように私が2008年に働いていた古いf#パーサープロジェクトを復活させようとしています。それはFsLexYaccを使用します。Vs2013でFsLex/Yaccを使用する
私はそれがためとして事前に作成ステップを使用して、[OK]を構築しました:
fslex --unicode "$(ProjectDir)XpathLexer.fsl"
fsyacc --module XpathParser "$(ProjectDir)XpathParser.fsy"
しかし、それは常に入力が変更されているかどうかを実行時に、これは、理想的な未満です。
私はその後、ちょうど古いのMSBuildアクションを使用してみました:
<FsYacc Include="XpathParser.fsy">
<FsLex Include="XpathLexer.fsl">
が、これらは完全にビルドプロセス中に無視しているように見えました。そうですか?これらのビルドタスクは何とか削除されましたか?
私は、私はうまくいくかもしれないと思ったC++対の下で文書化され、いくつかのものが見つかりました:
<CustomBuild Include="XpathParser.fsy">
<Message>Calling FsYacc</Message>
<Command>fsyacc --module XpathParser "$(ProjectDir)XpathParser.fsy"</Command>
<Outputs>$(ProjectDir)XpathParser.fs</Outputs>
</CustomBuild>
と
<PropertyGroup>
<CustomBuildBeforeTargets>CoreCompile</CustomBuildBeforeTargets>
</PropertyGroup>
を(私が思い付くするMicrosoft.Fsharp.Targetsファイルを検査」 CoreCompile "ターゲット)
ああ、まだ葉巻はありません。
fslex/yaccをvs 2013ソリューションに正しく組み込むことができるかどうかは誰にでも分かりますか?
マイクをありがとう。悲しいかな、私はまだそれを働かせることができませんでした。ビルドはlex/yaccの入力を完全に無視します。私はFSharp.Powerpack.Build.Tasks.dllを直接参照してみましたが、まだ葉巻はありません。 – stephensong
私の経験と一致しているようです – nicolas
@stephensongあなたは全くエラーがありませんか? – nicolas