User Tools

Site Tools


lara:docs:specs3

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lara:docs:specs3 [2017/06/02 15:25]
joaobispo [Insert Begin/End in 'scope'/'body']
lara:docs:specs3 [2019/09/22 15:47] (current)
Line 14: Line 14:
 ===== Joinpoint Actions ===== ===== Joinpoint Actions =====
  
-(recommended syntax: $jp.exec <​action_name>​. Could it be $jp.action <​action_name>​ instead?)+Previous syntax:  
 + 
 +<code lara> 
 +   ​$jp.exec result : <​action_name>;​ 
 +</​code>​ 
 + 
 + 
 +New syntax:  
 + 
 +<code lara> 
 +   var result = $jp.exec <​action_name>;​ 
 +</​code>​ 
 + 
 +If '​result'​ is a variable that already exists, '​var'​ can be omitted: 
 + 
 + 
 +<code lara> 
 +   ​result = $jp.exec <​action_name>;​ 
 +</​code>​ 
 + 
 +The keyword '​.exec'​ can be omitted if you prefix the name of the action with the target join point, and add parenthesis:​ 
 + 
 +<code lara> 
 +  result = $jp.<​action_name>​();​ 
 +</​code>​ 
 + 
 +/* (recommended syntax: $jp.exec <​action_name>​. Could it be $jp.action <​action_name>​ instead?​) ​*/
  
 ==== Default Actions ==== ==== Default Actions ====
Line 32: Line 58:
 ===== Aspect Calls ===== ===== Aspect Calls =====
  
-(recommended ​syntax: var new Aspect(); call a;)+Previous syntax:  
 + 
 +<code lara> 
 +   call result : AnAspect(); 
 +</​code>​ 
 + 
 + 
 +New syntax: ​ 
 + 
 +<code lara> 
 +   var result ​call AnAspect(); 
 +</​code>​ 
  
 ===== Tools ('​run'​) ===== ===== Tools ('​run'​) =====
Line 65: Line 103:
  
 Add joinpoints specifically for direct children selection. '​select function.stmt'​ selects all statements, '​select function.childStmt'​ selects only the direct children of the function. Add joinpoints specifically for direct children selection. '​select function.stmt'​ selects all statements, '​select function.childStmt'​ selects only the direct children of the function.
 +
 +
 +/*
 +
 ==== Insert Order ==== ==== Insert Order ====
  
Line 103: Line 145:
   '​after_1'​   '​after_1'​
   ​   ​
 +*/  ​
   ​   ​
 +/*
 +
 ==== String Literals ==== ==== String Literals ====
 +
 +
  
 Currently, the preferred way to do String literals in LARA is to use quotes: Currently, the preferred way to do String literals in LARA is to use quotes:
Line 116: Line 163:
 We can 1) normalize on the LARAC side and escape the quote or 2) identify the type of String (' or ") and generate code accordingly We can 1) normalize on the LARAC side and escape the quote or 2) identify the type of String (' or ") and generate code accordingly
  
 +*/
  
 ==== '​exit'​ Joinpoint in '​scope'/'​body'​ ==== ==== '​exit'​ Joinpoint in '​scope'/'​body'​ ====
lara/docs/specs3.1496409905.txt.gz · Last modified: 2019/09/22 15:46 (external edit)