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 >> |