Equal
Generates the Scilab internal code representing an instruction "LHS = RHS"
Syntax
eq = Equal(lhslist, RHS)
Arguments
- lhslist
- list of Left Hand Side parameters (list of "M2SCI tlists") 
- RHS
- a tlist built with "M2SCI" functions, representing the Right Hand Side member of the instruction. 
- eq
- tlist of type "equal" 
Description
This function create a tlist representing an instruction when using M2SCI.
            All input parameters values are verified to be compatible with "M2SCI tlists".
Examples
Let's define the pseudo-code representing the simple statement
            A = "off":
Let's define the pseudo-code representing the statement
            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"))
Let's define the pseudo-code representing the expression
            handles(:).axes_reverse(:,2) = "off", where
            handles is a 1x3 row of graphical (axes) handles:
h = Variable("handles", Infer(list(1,3),Type(Handle,Unknown))); // Building the Left-Hand-Side part of the assignment (Equal): // 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 // .. and finally the full statement: 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 = ";"
See also
- Funcall — Create the converted pseudo-code representing a function call
- Operation — Generates the Scilab pseudo-code representing an operation
- Variable — Generates the Scilab internal code representing a variable (without its content)
- Cste — Create a tree representing a constant
- Infer — Create a tree containing inference data
- Contents — Create a tree containing contents inference data
- Type — Create a tree containing type inference data
| Report an issue | ||
| << Cste | internals | Funcall >> |