SDA SE Wiki

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

User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

research:jtransformer:api:java:pefs:3.0:implementst [2018/05/09 01:59] (current)
Line 1: Line 1:
 +{{page>​prologast_bodypef_index&​fullpage&​nofooter}}
 +
 +----
 +
 +=== implementsT(#​class,​ #​interface) ​ ===
 +Represents the implementation of an interface by a class.
 +
 +=== Arguments ===
 +== ==
 +**#class:** [[classt|classT]]\\ ​
 +ID of the class.
 +
 +**#​interface:​** [[typereft|typeRefT]],​ [[parameterizedtypet|parameterizedTypeT]]\\  ​
 +ID of a typeRefT or a parameterizedTypeT referencing an interface implemented by the class.  ​
 +
 +
 +=== Sample Java Source ===
 +== ==
 +<Code lang-java>​
 +class HelloUniverse implements Hello {
 +   ...
 +}
 +public interface Hello {
 +          ...
 +}
 +
 +</​Code>​
 +
 +
 +=== Its PEF Representation ===
 +==  ==
 +<Code lang-prolog>​
 +classT(#​id,​_,'​HelloUniverse',​_).
 +implementsT(#​id,​ #TypeRef).
 +typeRefT(#​TypeRef,​ #id, #id, #​interface).
 +classT(#​interface,​_,'​Hello',​_).
 +</​Code>​
 +
 +=== AST Specification ===
 +== ==
 +<​Code>​
 +ast_relation('​Java',​implementsT,​[
 +     ​ast_arg(sub, ​  ​mult(1,​1,​no ), id,   ​[classT]),​
 +     ​ast_arg(super,​ mult(1,1,no ), id,   ​[typeRefT,​ parameterizedTypeT]) ​
 +]).
 +</​Code>​
 +
  
research/jtransformer/api/java/pefs/3.0/implementst.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2019