SDA SE Wiki

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

User Tools

Site Tools



paramT(#id, #parent, TYPE, 'name')

Represents the program element (method, catch clause, foreach loop) parametrized by this parameter declaration.

Arguments

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

#parent: methodT , constructorT , catchT , foreachT
ID of the enclosing PEF

TYPE: type term
the type of the parameter.

'name': atom
the name of the parameter.

Sample Java Source

class HelloWorld  { 
  public static void main(String[] args){   //String [] args is the corresponding code part to paramT
    ...
  }
}

Its PEF Representation

methodT(#method, ..., 'main', [#param], type(basic, void, 0), [], ...).
paramT(#param, #method, type(class, ..., 1), 'args').

AST Specification

ast_node_def('Java',paramT,[
     ast_arg(id,      mult(1,1,no ),  id,  [paramT]), % <-- convention!!!
     ast_arg(parent,  mult(1,1,no ),  id,  [methodT, constructorT, catchT, foreachT]), 
     ast_arg(type,    mult(1,1,no ),  attr,[typeTermType]), 
     ast_arg(name,    mult(1,1,no ),  attr,[atom])
]).
research/jtransformer/api/java/pefs/2.9/paramt.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019