[Scilab-Dev] legacy 5.x syntax deserves to be abandonned
Stéphane Mottelet
stephane.mottelet at utc.fr
Fri Jun 22 10:28:34 CEST 2018
Hello,
While fixing
http://bugzilla.scilab.org/show_bug.cgi?id=15623
http://bugzilla.scilab.org/show_bug.cgi?id=15624
I discovered that gross syntax errors such as
max(,), max(1,) mean(,)...
are not trapped by the parser. As a consequence, tokens of type
internalType:ScilabVoid are given to the gateway in the input arguments.
There are a lot of scilab functions which do not correctly handle this.
For example,
max(1,) and atan(1,) crash Scilab
max(,), gives a message about a missing overloading function for
ScilabVoid type.
Why such an dumb syntax has been kept as valid in Scilab 6 ? Does even
somebody remember if there exist some legacy code needing this ?
There is a potentially huge number of gateways to be fixed because of
this too permissive syntax.
However, all problems can be fixed by yanking lines 661:666 in
parseScilab.yy (666: Number of the Beast).
S.
--
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
http://www.utc.fr/~mottelet
More information about the dev
mailing list