Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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 >> |