[ncl-talk] Minor problem when parsing an expression with double constants

Mary Haley haley at ucar.edu
Wed May 3 12:10:40 MDT 2017


Hi Gus,

You are right, this doesn't work! I'm surprised somebody didn't run into
this before.

I've created a ticket for this (NCL-2604) and hopefully we can get a fix in
for 6.4.1.

--Mary




On Wed, May 3, 2017 at 10:58 AM, Gus Correa <gus at ldeo.columbia.edu> wrote:

> Dear NCL Pros
>
> I have noticed a minor problem when using constants of double
> type in an arithmetic expression.
> When I separate the tokens with spaces,
> NCL parses the expression properly, and gives the correct result.
> When I write the expresion tightly, without spaces, I get
> a syntax error.
>
> Am I doing something wrong, or does the parser really expect
> spaces between the tokens?
>
> Of course I can continue to write the expressions with spaces,
> but the problem may propagate to, say, automatically
> generated NCL code, etc.
>
> I enclose a simple example below.
> As you can see, I am using NCL 6.4.0,
> pre-compiled with gcc on CentOS, and downloaded from ESG.
>
> Thank you,
> Gus Correa
>
> *** syntax error in arithmetic expression with constant doubles ***
>
> [gus at master ~]$ ncl
>   Copyright (C) 1995-2017 - All Rights Reserved
>   University Corporation for Atmospheric Research
>   NCAR Command Language Version 6.4.0
>   The use of this software is governed by a License Agreement.
>   See http://www.ncl.ucar.edu/ for more details.
> ncl 0> a=3.2d + 4.5d
> ncl 1> print("a="+sprintf("%g",a))
> (0)     a=7.7
> ncl 2> delete(a)
> ncl 3> a=3.2d+4.5d
> fatal:syntax error: line 3 before or near .5d
> a=3.2d+4.5d
> ----------^
>
> ncl 4> b=3.2d+4.5d
> fatal:syntax error: line 4 before or near .5d
> b=3.2d+4.5d
> ----------^
>
> ncl 5> b=3.2d +4.5d
> ncl 6> print("b="+sprintf("%g",b))
> (0)     b=7.7
>
>
> [Note that the "d" (for double) needs a space after it, and before the
> next token. Maybe that is the behavior one should expect,
> but I was surprised.]
>
> **********************************************************************
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170503/664cb951/attachment.html 


More information about the ncl-talk mailing list