User Tools

Site Tools


Sidebar

<menu col=1,align=center>

<item>Documentation||[[lara:documentation]]|{{:lara:img:dictionary.png?25}}</item>
<item>Downloads||[[lara:downloads]]| {{:lara:img:projects.png?25}}</item>
<item>Tutorials||[[lara:tutorial]]|{{:lara:img:books.png?25}}</item>
<item>Other uses of LARA||[[lara:other]]|{{:lara:img:globe.png?25}}</item>
<item>About Us||[[https://sites.google.com/site/specsfeup/]]| {{:lara:img:specslogo.png?25}}</item>
<item>Projects||[[lara:usage]]| {{:lara:img:math.png?25}}</item>

</menu>

/* They are empty */ /* <item>FAQ||faq|</item> */ /* <item>Dev. Team||team| </item> */ /* <item>About LARA||about|</item> */

manet:docs:joinpoints

MANET Join Points

This page presents the join point hierarchy that is available through MANET. With this information, we know what chains of join points we can select in order to target specific points of interest in our programs.

Any join point types that appear on the Child Join Point column but not on the Join Point column have their own join point type and cannot select any other join points.

Any join point on the first column that has another join point underneath and between parentheses extends that join point. This means that it inherits all of its child join points, attributes and actions. For instance, arrayAccess extends expression.

Join Point Child Join Point Alias Description
program file All files inside a program.
file pragma All pragmas inside a file.
header first_header The first header inclusion.
function All function inside the file.
var expression index All the expressions used as indeces if this variable use is a part of an array access. If it is not, then an empty list is returned.
function prototype All declarations of this function.
declaration param All parameters of this function.
body The body of this function. This is everything enclosed by the function brackets {}.
prototype declaration param All parameters of the declaration.
body declaration first_decl The first declaration found on the body.
declaration decl All declarations of the body.
declaration last_decl The last declaration found on the body.
statement first_stmt The first statement found on the body.
statement stmt All statements of the body.
statement last_stmt The last statement found on the body.
return All return statements of the body.
var All variable uses of the body.
loop All loops of the body.
assignment All assignments of the body.
call All calls of the body.
pragma All pragmas of the body.
if All IF statements of the body.
arrayAccess All array accesses of the body.
loop statement init The initial statement of the loop.
expression cond The stopping condition of the loop.
expression step The step expression that changes the control variable of the loop.
body The body of this loop. This is everything enclosed by the loop brackets {}.
assignment
(expression)
expression lhs The left hand side of the assignment.
expression rhs The right hand side of the assignment.
call
(expression)
expression arg All the arguments of the function call.
if expression cond The condition of the IF statement.
body then The body of the THEN block.
body else The body of the ELSE block.
statement var All variable uses inside the statement.
expression var All variable uses inside the expression.
call All function calls inside the expression.
binaryExpression
(expression)
expression lhs The left hand side of the binary expression.
expression rhs The right hand side of the binary expression.
arrayAccess
(expression)
expression index All the expressions used as indices on the array access.
manet/docs/joinpoints.txt · Last modified: 2019/09/22 15:47 (external edit)