[Scilab-Dev] legacy 5.x syntax deserves to be abandonned
Stéphane Mottelet
stephane.mottelet at utc.fr
Fri Jun 22 10:32:39 CEST 2018
Le 22/06/2018 à 10:28, Stéphane Mottelet a écrit :
> Hello,
>
> While fixing
>
> https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/bugzilla.scilab.org/show_bug.cgi?id=15623
>
> https://antispam.utc.fr/proxy/1/c3RlcGhhbmUubW90dGVsZXRAdXRjLmZy/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.
>
Here are the error messages after the fix in parseScilab.yy:
--> max(,)
max(,)
^
Error: syntax error, unexpected ","
--> max(1,)
max(1,)
^^
Error: syntax error, unexpected )
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