[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