Equal Génère le code interne Scilab représentant une instruction "LHS = RHS"

## Séquence d'appel

    eq = Equal(lhslist, RHS)

## Arguments

lhslist

  liste des arguments de sortie (Left Hand Side : coté gauche de l'assignation) (liste d'une liste typée de M2SCI)

RHS

  partie droite de l'instruction (Righ Hand Side)(une tlist de M2SCI)

eq

  une tlist de type "equal".

## Description

Cette fonction créé une `tlist` représentant une instruction "LHS = RHS", utilisable par le convertisseur M2SCI. Les arguments d'entrée sont vérifiés, en regard des formats attendus par le convertisseur.

## Examples

Générons le code interne représentant l'instruction simple `A = "off"`:

    LHS = Variable("A", Infer(list(1,1),Type(String,Unknown)));
    Equal(list(LHS), Cste("off"))

Générons le code interne représentant l'instruction `A(2,:) = "off"` :

    // A
    LHS = Variable("A", Infer(list(Unknown,Unknown),Type(String,Unknown)));
    // A(2,:)
    LHS = Operation("ins", list(LHS,Cste(2),Colon), list()) // Insertion
    // A(2,:) = "off"
    Equal(list(LHS), Cste("off"))

Générons le code interne représentant l'expression `handles(:).axes_reverse(:,2) = "off"`, où `handles` est un vecteur ligne 1x3 d'identifiants (de repères) graphiques:

    h = Variable("handles", Infer(list(1,3),Type(Handle,Unknown)));

    // Construction du code interne du récipient (partie gauche):
    // handles(:)
    LHS = Operation("ins", list(h,Colon), list());                 // Insertion

    // handles(:).axes_reverse :
    LHS = Operation("ins", list(LHS,Cste("axes_reverse")), list()) // Insertion

    // handles(:).axes_reverse(:,2) :
    LHS = Operation("ins", list(LHS,Colon,Cste(2)), list());       // Insertion

    // .. et finalement l'expression complète :
    s.statement = Equal(list(LHS), Cste("off"))

    --> s.statement = Equal(list(LHS), Cste("off"))
     s  =
      statement: [equal] tlist with fields:
          lhs: list:
              (1) : [operation] tlist with fields:
                  operator = "ins"
                  operands: list:
                      (1) : [operation] tlist with fields:
                          operator = "ins"
                          operands: list:
                              (1) : [operation] tlist with fields:
                                  operator = "ins"
                                  operands: list with 2 elements.
                                  out:  empty list()
                              (2) : [cste] tlist with fields:
                                  value = "axes_reverse"
                                  infer: [infer] tlist with fields:
                                      [dims, type, contents]
                          out:  empty list()
                      (2) : [variable] tlist with fields:
                          name = ":"
                          infer: [infer] tlist with fields:
                              dims: list:
                                  (1) = -1
                                  (2) = 1
                              type: [type] tlist with fields:
                                  vtype = 1
                                  property = 0
                              contents: [contents] tlist with fields:
                                  index:  empty list()
                                  data:  empty list()
                      (3) : [cste] tlist with fields:
                          value = 2
                          infer: [infer] tlist with fields:
                              dims: list:
                                  (1) = 1
                                  (2) = 1
                              type: [type] tlist with fields:
                                  vtype = 1
                                  property = 0
                              contents: [contents] tlist with fields:
                                  index:  empty list()
                                  data:  empty list()
                  out:  empty list()
          expression: [cste] tlist with fields:
              value = "off"
              infer: [infer] tlist with fields:
                  dims: list:
                      (1) = 1
                      (2) = 3
                  type: [type] tlist with fields:
                      vtype = 10
                      property = 0
                  contents: [contents] tlist with fields:
                      index:  empty list()
                      data:  empty list()
          endsymbol = ";"

## Voir aussi

- Funcall
- Operation
- Variable
- Cste
- Infer
- Contents
- Type