HP Forums
problems in compilation of CAS programs - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html)
+--- Forum: HP Prime (/forum-5.html)
+--- Thread: problems in compilation of CAS programs (/thread-7571.html)



problems in compilation of CAS programs - compsystems - 01-14-2017 01:13 PM

Hello the following code has a syntax error

testCompiler file
PHP Code:
#cas
  
  
testCASCompiler():=
  
begin
    local expr1
;
    
expr1:=trig2exp(sin(x)); //
    
return expr1;
  
end;

  
// -> abc
  
return / 

  
testCASCompiler2():=
  
begin
    local expr1
;
    
expr1:=exp2trig(e^(2*x)); //
    
return expr1;
  
end;

#end 

instructions outside of the definitions testCASCompiler() & testCASCompiler2() are
Code:
  
  // -> abc
  return /

and the compiler tells me that there are no errors, but the functions testCASCompiler() & testCASCompiler2() does run (contradiction)
For future firmware versions: when compiling any statement between CAS functions definitions, should not be allowed. (Comments should only be allowed)

ERROR
PHP Code:
#cas
  
  
fnt1():=
  
begin
    local expr1
;
    ....
    return 
expr1;
  
end;

   -> 
abc
  
return /

  
fnt2():=
  
begin
    local expr2
;
    ....
    return 
expr2;
  
end;

#end

 
-> efg 

ok
PHP Code:
#cas
  
  
fnt1():=
  
begin
    local expr1
;
    ....
    return 
expr1;
  
end;

  
// -> abc
  //return /

  
fnt2():=
  
begin
    local expr2
;
    ....
    return 
expr2;
  
end;

#end

 //-> efg 


Now if you uncomment the line ( -> abc ) If an error is detected, but still runs testCASCompiler() & testCASCompiler2(), because it was previously stored in memory. In this case the compiled version testCASCompiler() & testCASCompiler2() must be deleted from memory If an error is found in the reedition


RE: Compilation of CAS programs - parisse - 01-14-2017 07:30 PM

I tried your input from CAS commandline, I get a syntax error with the return / and it compiles without.


RE: problems in compilation of CAS programs - compsystems - 02-07-2017 02:40 PM

From the input line detects false errors, comments assumes them as double division //, this is also a problem
from HPconnectivityKit Assumes well the comments but not the sentences outside the definitions

Copy and paste the above code into HPconnectivityKit and name it as 'testCompiler', then [Shift]+[1] (Program catalog), find 'testCompiler' [edit] [check] returns "No errors in the program" It does not detect instructions outside the definition (return /) between testCASCompiler() & testCASCompiler2(), Must show "Error: return /: Invalid outside function or program" and not "No errors in the program"

[Image: hp_prime_bug00_image00.png]


RE: problems in compilation of CAS programs - Han - 02-07-2017 04:04 PM

Wasn't this already discussed? I believe the explanation was that the command line is not intended for program editing because of how it interprets the "/" symbol.


RE: problems in compilation of CAS programs - compsystems - 02-07-2017 06:57 PM

If it was discussed, it is possible to edit a program from the command line but without comments = ( (hopefully soon improve the edition from the entry-line) but if it is a bug does not detect invalid statements between program definitions. You agree?


RE: problems in compilation of CAS programs - Carlos295pz - 02-07-2017 09:00 PM

There is no sense in placing operators or statements between the declaration of functions, if you want to operate something additional, do it within a function.


RE: problems in compilation of CAS programs - compsystems - 02-08-2017 02:39 PM

Hola Carlos Es válido colocar comentarios explicativos de los que hace por ejemplo la función o programa siguiente entre definiciones de funciones ¿Estás de acuerdo? El problemas que reporto es que cuando tu estas codificando desde el editor externo de programas de la hp-prime (HPconnectivityKit) por ejemplo estas copiando y pegando código y a veces queda código "cortado" o mal ubicado entonces el compilador no lo detecta y dice "No errors in the program" que es falso, pero esto en si no es un problema, sino que se GENERA CORRUPTION OF MEMORY, [SHIFT][MEM][CAS VAR] aparecen una variables indeseadas con contenido basura. Ahora cuando si detecta el error y hay una versión previa compilada satisfactoriamente debe BORRARLA porque el editor de programas externo no te dice si hay errores, si ejecutas de nuevo la función o programa crees que los cambios que hiciste están bien que es falso nuevamente, esto me ha costado mucho tiempo detectar por que no actualiza los cambios.


RE: problems in compilation of CAS programs - Carlos295pz - 02-08-2017 04:10 PM

(02-08-2017 02:39 PM)compsystems Wrote:  Hola Carlos Es válido colocar comentarios explicativos de los que hace por ejemplo la función o programa siguiente entre definiciones de funciones ¿Estás de acuerdo? El problemas que reporto es que cuando tu estas codificando desde el editor externo de programas de la hp-prime (HPconnectivityKit) por ejemplo estas copiando y pegando código y a veces queda código "cortado" o mal ubicado entonces el compilador no lo detecta y dice "No errors in the program" que es falso, pero esto en si no es un problema, sino que se GENERA CORRUPTION OF MEMORY, [SHIFT][MEM][CAS VAR] aparecen una variables indeseadas con contenido basura. Ahora cuando si detecta el error y hay una versión previa compilada satisfactoriamente debe BORRARLA porque el editor de programas externo no te dice si hay errores, si ejecutas de nuevo la función o programa crees que los cambios que hiciste están bien que es falso nuevamente, esto me ha costado mucho tiempo detectar por que no actualiza los cambios.

Asumí de forma equivocada que querías operar las funciones, comentarios entre funciones sí claro que sí. Las variables indeseadas no logro verlas, y aunque se encuentra el "return /" sin comentar, me ha compilado correctamente. Respecto a borrar la función anterior en caso que la actual contenga error, dudo que sea implementado, ya que definición y variables CAS son independientes, y si el programa donde se trata de definir la función CAS tiene error, no tendrá forma de saber qué función debe anular, por el simple hecho que no puede determinar completamente qué funciones se encuentran en ese código, un error de compilación simplemente aborta.


RE: problems in compilation of CAS programs - compsystems - 02-08-2017 05:40 PM

Then it is a confirmed BUG and with higher priority to be solved

... Sometimes the unwanted variables are created, which reset the emulator in my case.