SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools



assignT(#id, #parent, #encl, #lhs, #expr)

Represents the assignment expression.

Attributes

#id: id
the unique ID assigned to this fact.

#parent: id
the ID of the parent node.

#encl: methodT, constructorT, classInitializerT, fieldT
the ID of the fact that represents the enclosing element.

#lhs: fieldAccessT, identT, indexedT
ID of the left hand side of this assignment expression.

#exprt: expression
ID of the right hand side expression.

Sample Java Source

void assign(){
        int i = 5;
	int j = 9;
	i = i + j; //corresponding code line to assignT
}

Its PEF Representation

assignT(#id, #parent, #encl, #lhs, #expr).
execT(#parent, ..., #encl, #id).
methodT(#encl, ..., 'assign', [], type(basic, void, 0), [], ...).
identT(#lhs, #id, #encl, 'i', ...).
operationT(#expr, #id, #encl, [..., ...], '+', 0).

AST Specification

ast_node_type_spec(assignT,[
     ast_arg(id,      mult(1,1,no ), id,  [assignT]),
     ast_arg(parent,  mult(1,1,no ), id,  [id]),
     ast_arg(encl,    mult(1,1,no ), id,  [methodT, constructorT, classInitializerT,fieldT]),
     ast_arg(lhs,     mult(1,1,no ), id,  [fieldAccessT, identT, indexedT]),
     ast_arg(rhs,     mult(1,1,no ), id,  [expressionType])
]).
research/jtransformer/api/java/pefs/4.0/assignt.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019