Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

a code that works in IDL does not compile

Help
pliz
2007-08-11
2013-06-03
  • pliz
    pliz
    2007-08-11

    GDL claims that a function is not defined, though it has been defined above in the code
    GDL> .compile '../t.pro'
    % Parser syntax error: unexpected token: TENSOR_PROD
      At: ../t.pro, Line 304  Column 39
    where should I look to figure out what the problem is? thank you

     
    • pliz
      pliz
      2007-08-11

      function TENSOR_PROD I was calling like that:
      TENSOR_PROD(A,REFORM(B))

      when I rewrite it like that:

      T = REFORM(B)
      TENSOR_PROD(A,T)

      It works!

      A bug?!

       
      • Marc Schellens
        Marc Schellens
        2007-08-11

        Could you please post the minimal example code which reproduces the error?
        This looks like a code look up problem.

         
    • pliz
      pliz
      2007-08-12

      I have to admit, that it was my mistake. This does not mean that there is no bug though. For some stupid reason the code I was trying to compile did not have a closing paren for tensor_prod function. Here how the line looked:
             
      tmp_tilde_COV = tmp_tilde_COV + tensor_prod(tilde_s_cov, REFORM(temporal_cov(*, *,l))

      The bad thing that GDL instead of just telling me about this syntax error told me about undefined token. Of course, I am not sure how easy it is to distinguish such cases, but it'd be nice if the interpreter could spot the difference.

      I hope it can be fixed and thank you for responce. Sorry for being wrong in the beginning.