What I'm after, specifically, is to use a parser generator to generate a
parser in C#.

The prebuild rule is close, but it's not the right way to do it.


On Fri, Oct 4, 2013 at 8:10 PM, Bennie Kloosteman <[email protected]>wrote:

>
> I have followed Davids method and it works well for simple cases ,  unlike
> make files people very rarely modify/create  msbuild files themselves (
> except for very simple pre and post build instructions in projects)  .
>
> What to use really depends on what your trying to do .  Creating C# files
> which are then parsed as normal is often done with C4 templates this is
> much easier it is quite extensive and not just 1:1 .
>
> Creating C# files is pretty easy but adding them to a project can be a
> pain especially if they need to be user edited , you can change project
> files dynamically but then you get anoying project file has changed reload
> messages so you need to go through the VS API.. the VS API is big and  wont
> work on non VS which is another reason C4 is often used .
>
> Do you want something like type script where a higher level language
>  creates jscript files ?  If so this may help
>
> <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
>   <TypeScriptSourceMap> --sourcemap</TypeScriptSourceMap>
> </PropertyGroup>
> <Target Name="BeforeBuild">
>   <Message Text="Compiling TypeScript files" />
>   <Message Text="Executing tsc$(TypeScriptSourceMap) @(TypeScriptCompile 
> ->'&quot;%(fullpath)&quot;', ' ')" />
>   <Exec Command="tsc$(TypeScriptSourceMap) @(TypeScriptCompile 
> ->'&quot;%(fullpath)&quot;', ' ')" />
>
> </Target>
>
> This can be put in a project template .
>
> Typescript to js is done better with WebEssentials but it uses the  VS API
> and when you change  a type script file it automatically ensures the js
> file is up to date and in the solution ( it compiles every time you save)
> .. When you build it just compiles the js and the type script files are
> marked with ignore.
>
> I have used NAnt and Cmake for complex requirements but prefer project
> files,  they dont create toolchain pain .
>
> Ben
>
>
> On Sat, Oct 5, 2013 at 7:44 AM, david j <[email protected]> wrote:
>
>> I find this painful as well. You can easily launch pre and post events
>> with msbuild, but making those tools platform and tree location independent
>> is a bit of a pain. Likewise, getting the generated C# files into the build
>> requires extra steps because of C# integrated compile and link (compared to
>> c and make files).
>>
>> The strategy I use is msbuild/xbuild with pre/post events that are CLR
>> program "sub projects" so they are portable without more toolchain pain. (I
>> use this strategy for XML/xslt based code templating, for example) I
>> manually add the generated C# to the csproj.
>>
>> Another strategy (which i have not tried) is to use NAnt.
>>
>> http://developer.empinia.org/empinia/HowToUseNant
>>
>> sent via mobile
>> On Oct 4, 2013 3:05 PM, "Sandro Magi" <[email protected]> wrote:
>>
>>> Pre-build events are easy in msbuild, but they're essentially just a
>>> batch script with various environment variables like I said. You can also
>>> write custom msbuild tasks [1,2], but I've never needed to dig in that
>>> deeply.
>>>
>>> Sandro
>>>
>>> [1] 
>>> http://msdn.microsoft.com/en-**us/library/t9883dzc.aspx<http://msdn.microsoft.com/en-us/library/t9883dzc.aspx>
>>> [2] 
>>> http://msdn.microsoft.com/en-**us/library/vstudio/z7f65y0d.**aspx<http://msdn.microsoft.com/en-us/library/vstudio/z7f65y0d.aspx>
>>>
>>> On 04/10/2013 3:11 PM, Sandro Magi wrote:
>>>
>>>> I believe batch scripts and T4 templates [1] are the most common ways
>>>> of dealing with code generation that isn't inherently supported by Visual
>>>> Studio (ie. design time tools).
>>>>
>>>> Sandro
>>>>
>>>> [1] 
>>>> http://msdn.microsoft.com/en-**us/library/vstudio/bb126445.**aspx<http://msdn.microsoft.com/en-us/library/vstudio/bb126445.aspx>
>>>>
>>>> On 04/10/2013 2:14 PM, Jonathan S. Shapiro wrote:
>>>>
>>>>> I'm struggling with something fairly trivial, and would appreciate
>>>>> assist.
>>>>>
>>>>> The Visual Studio build system is not (historically, at least) very
>>>>> good about building /inputs/. So for example, if you have a parser
>>>>> generator that generates a C-sharp program, that's a pain to do. I'm
>>>>> actually using Xamarin Studio, which seems to follow the same sort of
>>>>> practice.
>>>>>
>>>>> How do people who use such tools integrate them into their project
>>>>> build systems properly?
>>>>>
>>>>> Thanks
>>>>>
>>>>>
>>>>> Jonathan
>>>>>
>>>>>
>>>>> ______________________________**_________________
>>>>> bitc-dev mailing list
>>>>> [email protected]
>>>>> http://www.coyotos.org/**mailman/listinfo/bitc-dev<http://www.coyotos.org/mailman/listinfo/bitc-dev>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>> ______________________________**_________________
>>>> bitc-dev mailing list
>>>> [email protected]
>>>> http://www.coyotos.org/**mailman/listinfo/bitc-dev<http://www.coyotos.org/mailman/listinfo/bitc-dev>
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> bitc-dev mailing list
>>> [email protected]
>>> http://www.coyotos.org/mailman/listinfo/bitc-dev
>>>
>>>
>> _______________________________________________
>> bitc-dev mailing list
>> [email protected]
>> http://www.coyotos.org/mailman/listinfo/bitc-dev
>>
>>
>
> _______________________________________________
> bitc-dev mailing list
> [email protected]
> http://www.coyotos.org/mailman/listinfo/bitc-dev
>
>
_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to