You've convinced me. It works for backwards compatibility too as you can think of the older type of property ${foo} as an expression containing a single identifier and so the result of the expression is the value of that identifier.

good work Jarek. Do you want me to commit this to the branch ? or will you do it ?

Ian

Ian,

Be sure to check my test1 release of EE. I've implemented the syntax
suggested by Martin and I cannot live without it any more. It's ultra-clean,
doesn't break builds (hopefully) and works for all attributes regardless of
their type.

One more argument for allowing properties in expressions to be written
without "$": Compare:

<echo message="aaa" if="${endswith(${somefilename},${extension})}" />

with

<echo message="aaa" if="${endswith(somefilename,extension)}" />

The ugliness factor is close to zero in the latter case, IMHO.

Jarek

----- Original Message ----- From: "Ian MacLean" <[EMAIL PROTECTED]>
To: "Jaroslaw Kowalski" <[EMAIL PROTECTED]>
Cc: "Martin Aliger" <[EMAIL PROTECTED]>;
<[EMAIL PROTECTED]>
Sent: Wednesday, December 03, 2003 7:01 AM
Subject: Re: [nant-dev] PATCH: Expression evaluator for NAnt





I'd much prefer to see properties still distinguised by the $. Maybe the
parser can easily determine that its a property but its not so clear for
a user reading it. Especially since propertys everywhere else require
the $ syntax.

Ian

Jaroslaw Kowalski wrote:



It's of course possible to distinguish between "property" and


"function()"


within the parser.

The following interpretation of keywords is very easy to implement:

keyword followed by "(" is a function call.
true/false are boolean literals
everything else denotes a property

The following would be allowed then (should it be?):

<property name="length" value="aaaaaaaa" />
<if test="length(length)=8">
  <echo message="ok" />
</if>

Jarek



-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?  SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers




--
Ian MacLean, Developer,
ActiveState, a division of Sophos
http://www.ActiveState.com




------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers






-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive? Does it
help you create better code? SHARE THE LOVE, and help us help
YOU! Click Here: http://sourceforge.net/donate/
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers




--
Ian MacLean, Developer, ActiveState, a division of Sophos
http://www.ActiveState.com





------------------------------------------------------- This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ nant-developers mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to