Post Reply 
problems in compilation of CAS programs
01-14-2017, 01:13 PM (This post was last modified: 02-06-2017 01:35 PM by compsystems.)
Post: #1
problems in compilation of CAS programs
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
Find all posts by this user
Quote this message in a reply
01-14-2017, 07:30 PM (This post was last modified: 01-14-2017 07:31 PM by parisse.)
Post: #2
RE: Compilation of CAS programs
I tried your input from CAS commandline, I get a syntax error with the return / and it compiles without.
Find all posts by this user
Quote this message in a reply
02-07-2017, 02:40 PM
Post: #3
RE: problems in compilation of CAS programs
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]
Find all posts by this user
Quote this message in a reply
02-07-2017, 04:04 PM
Post: #4
RE: problems in compilation of CAS programs
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.

Graph 3D | QPI | SolveSys
Find all posts by this user
Quote this message in a reply
02-07-2017, 06:57 PM
Post: #5
RE: problems in compilation of CAS programs
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?
Find all posts by this user
Quote this message in a reply
02-07-2017, 09:00 PM
Post: #6
RE: problems in compilation of CAS programs
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.

Viga C | TD | FB
Visit this user's website Find all posts by this user
Quote this message in a reply
02-08-2017, 02:39 PM
Post: #7
RE: problems in compilation of CAS programs
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.
Find all posts by this user
Quote this message in a reply
02-08-2017, 04:10 PM
Post: #8
RE: problems in compilation of CAS programs
(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.

Viga C | TD | FB
Visit this user's website Find all posts by this user
Quote this message in a reply
02-08-2017, 05:40 PM
Post: #9
RE: problems in compilation of CAS programs
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.
Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 3 Guest(s)