M2SCI function

m2scideclare - Giving tips to help M2SCI...

### Description

The main difficulty for M2SCI (`mfile2sci` ) is to find what variables are: dimensions, type...

To help this tool, just add comments beginning with `%m2scideclare` in the M-file to convert, (`%m2sciassume` was used in previous Scilab versions and is now obsolete).

The syntax of this command is:

`%m2scideclare variable_name|dimensions|data_type|property`

with :

  - variable_name: name of the variable declared. It can be a Struct field (e.g. `x(1,2).name` ) or describe the contents of a Cell using syntax `x(1,2).entries` .
  - dimensions: dimensions of the variable declared separated by blanks, if a dimension is unknown, replace it by `?` . NOTE that String dimensions must be similar to Matlab ones e.g. `1 6` for character string 'string'.
  - data_type: data type of the variable which can be:

    m2scideclare data type | Scilab "equivalent" type
    Double | 1
    Boolean | 4
    Sparse | 5
    Int | 8
    Handle | 9
    String | 10
    Struct | Matlab struct (16)
    Cell | Matlab cell (17)
    Void | No type (0)
    ? | Unknown type

  - property: property of the variable which can be:

    m2scideclare property | Scilab "equivalent"
    Real | Real data
    Complex | Complex data
    ? | Unknown property

    This field is ignored for following datatypes: `Cell` , `Struct` , `String` and `Boolean` .

All data given by `m2scideclare` are compared with infered data, in case of conflict, infered data are kept and a warning message is displayed. If you are sure about your data, report a bug.

Some examples are given below:

  - `%m2scideclare var1|2 3|Double|Real` : var1 is declared as a 2x3 Double matrix containing real data
  - `%m2scideclare var2|2 3 10|Double|Complex` : var2 is declared as a 2x3x10 Double hypermatrix containing complex data
  - `%m2scideclare var3(1,2).name|1 10|String|?` : var3 is declared as a Struct array containing a 1x10 character string in field 'name' of struct at index (1,2)
  - `%m2scideclare var4(1,5).entries|1 ?|Boolean|?` : var4 is declared as a Cell containing a row boolean vector at index (1,5)
  - `%m2scideclare var4(1,6).entries|? ?|Int|?` : var4 is declared as a Cell containing a row boolean vector at index (1,5) and integer data at index (1,6)

### Authors

  V.C.