19
19
#ifndef __ext_ac_syntax_h_ah__
20
20
#define __ext_ac_syntax_h_ah__
22
#include "Puma/CTokens.h"
22
24
// *************************
23
25
// C and CC-Syntax extension
24
26
// *************************
27
29
slice class ExtACSyntax {
29
31
void skip_pointcut_expr ();
30
virtual CTree *order_decl ();
31
virtual CTree *order_list ();
32
virtual CTree *advice_decl ();
33
virtual CTree *pointcut_decl ();
34
virtual CTree *slice_ref ();
35
virtual CTree *class_slice_decl ();
36
virtual CTree *class_slice_member_decl ();
37
virtual CTree *class_slice_member_list ();
38
virtual CTree *pointcut_expr ();
39
virtual CTree *pointcut_member_decl ();
40
virtual CTree *advice_member_decl ();
41
virtual CTree *intro ();
32
virtual Puma::CTree *order_decl ();
33
virtual Puma::CTree *order_list ();
34
virtual Puma::CTree *advice_decl ();
35
virtual Puma::CTree *pointcut_decl ();
36
virtual Puma::CTree *slice_ref ();
37
virtual Puma::CTree *class_slice_decl ();
38
virtual Puma::CTree *class_slice_member_decl ();
39
virtual Puma::CTree *class_slice_member_list ();
40
virtual Puma::CTree *pointcut_expr ();
41
virtual Puma::CTree *pointcut_member_decl ();
42
virtual Puma::CTree *advice_member_decl ();
43
virtual Puma::CTree *intro ();
44
46
slice class ExtACCSyntax {
46
virtual CTree *slice_ref ();
47
virtual CTree *class_slice_decl ();
48
virtual CTree *class_slice_name ();
49
virtual CTree *class_slice_base_clause ();
48
virtual Puma::CTree *slice_ref ();
49
virtual Puma::CTree *class_slice_decl ();
50
virtual Puma::CTree *class_slice_name ();
51
virtual Puma::CTree *class_slice_base_clause ();
52
54
// *************************
66
68
// behavioral extensions
67
69
advice within (derived (csyntax ())) &&
68
70
execution ("% ...::init_class_key ()") : after () {
69
tjp->that ()->_class_key_1.set (TOK_ASPECT);
71
tjp->that ()->_class_key_1.set (Puma::TOK_ASPECT);
72
74
advice within (derived (csyntax ())) &&