Note that there are some explanatory texts on larger screens.

plurals
  1. POUsing FsLex/Yacc in Vs2013
    primarykey
    data
    text
    <p>I'm trying to resurrect an old f# parser project I had working in vs 2008 to work with vs 2013. It uses FsLexYacc.</p> <p>I got it building ok by using a prebuild step as thus:</p> <pre><code>fslex --unicode "$(ProjectDir)XpathLexer.fsl" fsyacc --module XpathParser "$(ProjectDir)XpathParser.fsy" </code></pre> <p>But this is less than ideal, as it always executes whether or not the inputs have changed.</p> <p>I then tried just using the old MsBuild actions:</p> <pre><code>&lt;FsYacc Include="XpathParser.fsy"&gt; &lt;FsLex Include="XpathLexer.fsl"&gt; </code></pre> <p>but these appeared to be completely ignored during the build process. Is that right? Have these build tasks been removed somehow?</p> <p>I then found some stuff documented under vs C++ that I thought might work:</p> <pre><code>&lt;CustomBuild Include="XpathParser.fsy"&gt; &lt;Message&gt;Calling FsYacc&lt;/Message&gt; &lt;Command&gt;fsyacc --module XpathParser "$(ProjectDir)XpathParser.fsy"&lt;/Command&gt; &lt;Outputs&gt;$(ProjectDir)XpathParser.fs&lt;/Outputs&gt; &lt;/CustomBuild&gt; </code></pre> <p>and</p> <pre><code>&lt;PropertyGroup&gt; &lt;CustomBuildBeforeTargets&gt;CoreCompile&lt;/CustomBuildBeforeTargets&gt; &lt;/PropertyGroup&gt; </code></pre> <p>(I inspected the Microsoft.Fsharp.Targets file to come up with the "CoreCompile" target.) </p> <p>Alas, still no cigar. </p> <p>Is anyone able to shine a light on whether it is indeed possible to properly integrate fslex/yacc into a vs 2013 solution, and if so, how?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload