There is the boo mailing list.
 <[email protected]>,

It has been  my pleasure to help

On Sun, Jan 4, 2009 at 9:20 AM, Paul Cowan <[email protected]> wrote:

> ReplaceCurrentNode was indeed the answer.
>
> Thanks for your help.
>
> I realise that my query had nothing to do with the Rhino source.
>
> Is there a boo user group that you know of?
>
> Cheers
>
> Paul
>
> 2009/1/3 Paul Cowan <[email protected]>
>
> Excellent, I think I am nearly there.
>>
>> Thanks
>>
>>
>> 2009/1/3 Ayende Rahien <[email protected]>
>>
>>> You need a transformer, and then you can do something like:
>>> ReplaceCurrentNode( new MethodInvocationExpression( new
>>> ReferenceExpression("CopyTo"), binaryExpression.Left,
>>>  binarExpression.Right));
>>>
>>>
>>> On Sat, Jan 3, 2009 at 3:30 PM, Paul Cowan <[email protected]> wrote:
>>>
>>>> Hi,
>>>>
>>>> I have created an AbstractVisitorCompilerStep and have the following
>>>> OnBlockExpression:
>>>>
>>>> public override void OnBlockExpression(BlockExpression node)
>>>> {
>>>>     foreach (Statement statement in node.Body.Statements)
>>>>     {
>>>>         MethodInvocationExpression method =
>>>> (MethodInvocationExpression)((ExpressionStatement) statement).Expression;
>>>>
>>>>         foreach(Expression arg in method.Arguments)
>>>>         {
>>>>             if ((!(arg is BinaryExpression)) &&
>>>> ((BinaryExpression)arg).Operator != BinaryOperatorType.ShiftRight)
>>>>                 continue;
>>>>
>>>>             var binaryExpression = (BinaryExpression) arg;
>>>>         }
>>>>     }
>>>>
>>>>     base.OnBlockExpression(node);
>>>> }
>>>>
>>>> Do I just create a new BlockExpression and pass it to the base
>>>> OnBlockExpression?
>>>>
>>>>
>>>> Cheers
>>>>
>>>> Paul
>>>>
>>>> 2009/1/3 Ayende Rahien <[email protected]>
>>>>
>>>>> You need to process the >> early in the compiler life cycle.Ideally,
>>>>> you would have a visitor at step 2 or 3 that would look for the right 
>>>>> shift
>>>>> operator and translate that to copy_to("log4net", "bin") method call
>>>>>
>>>>>
>>>>> On Sat, Jan 3, 2009 at 1:37 PM, Paul Cowan <[email protected]> wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> I have come up with the following syntax which I quite like:
>>>>>>
>>>>>> dependencies:
>>>>>>     depend "log4net" >> "bin"
>>>>>>
>>>>>> But I get the following runtime exception:
>>>>>>
>>>>>>
>>>>>> Operator '>>' cannot be used with a left hand side of type 'string' and 
>>>>>> a right hand side of type 'string'.
>>>>>>
>>>>>> I have tried adding the following compiler state which I thought might
>>>>>> fix it but alas it does not:
>>>>>>
>>>>>> pipeline.Insert(1, new
>>>>>> ImplicitBaseClassCompilerStep(typeof(BaseConfigReader), "Prepare",
>>>>>> "Horn.Core.dsl"));
>>>>>> pipeline.InsertBefore(typeof(ProcessMethodBodiesWithDuckTyping), new
>>>>>> UnderscorNamingConventionsToPascalCaseCompilerStep());
>>>>>> pipeline.Insert(2, new UseSymbolsStep());
>>>>>>
>>>>>> Can anyone see what else, I need to do?
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Paul
>>>>>>
>>>>>>
>>>>>> 2009/1/3 Ayende Rahien <[email protected]>
>>>>>>
>>>>>>> No, you can just use >> with the source that you have, because this
>>>>>>> is a builtin operator
>>>>>>> For words, you would need the patch.
>>>>>>> You can see an example of using >> in Rhino ETL
>>>>>>>
>>>>>>>
>>>>>>> On Sat, Jan 3, 2009 at 11:44 AM, Paul Cowan <[email protected]>wrote:
>>>>>>>
>>>>>>>> Great!
>>>>>>>>
>>>>>>>> Do I need to download the patch?
>>>>>>>>
>>>>>>>> Is there an example of using ">>" anywhere?
>>>>>>>>
>>>>>>>> Perhaps in the Rhino source?
>>>>>>>>
>>>>>>>> 2009/1/3 Ayende Rahien <[email protected]>
>>>>>>>>
>>>>>>>> That would require macro operators, which are currently not part of
>>>>>>>>> boo.
>>>>>>>>> There is a patch for this that I made a while ago, though.
>>>>>>>>>
>>>>>>>>> What you can do is:
>>>>>>>>>
>>>>>>>>> depend:
>>>>>>>>>    log4net >> "lib"
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Sat, Jan 3, 2009 at 11:28 AM, dagda1 <[email protected]>wrote:
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> I am extending an existing DSL for the open source project I am
>>>>>>>>>> working on code named horn (
>>>>>>>>>> http://the-software-simpleton.blogspot.com/
>>>>>>>>>> 2008/12/horn-package-management-project.html<http://the-software-simpleton.blogspot.com/2008/12/horn-package-management-project.html>
>>>>>>>>>> ).
>>>>>>>>>>
>>>>>>>>>> Anyway I am trying to define dependencies as part of the existing
>>>>>>>>>> boo
>>>>>>>>>> DSL and I want the following syntax to tell me which dependency to
>>>>>>>>>> include and where it should be copied too when it has been
>>>>>>>>>> compiled.
>>>>>>>>>>
>>>>>>>>>> I am trying to get the following syntax but I do not believe this
>>>>>>>>>> is
>>>>>>>>>> possible:
>>>>>>>>>>
>>>>>>>>>> depend:
>>>>>>>>>>        Log4net copy_to "lib"
>>>>>>>>>>
>>>>>>>>>> I know the following is possible:
>>>>>>>>>>
>>>>>>>>>> depend:
>>>>>>>>>>        Include log4net, "lib"
>>>>>>>>>>
>>>>>>>>>> I really do not like the second syntax and can anyone help me
>>>>>>>>>> getter a
>>>>>>>>>> more descriptive syntax?
>>>>>>>>>>
>>>>>>>>>> Cheers
>>>>>>>>>>
>>>>>>>>>> Paul
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to