Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Pattern syntax grammar specification for AspectJ, does it exist ?

Dear Andy,

Thank you for the clarification.
I am simply trying to learn the syntax and its meaning and
a concise explanation (in the form of a grammar) would have helped.

Cheers,

Jozsef


On 10/2/2013 10:18 PM, Andy Clement wrote:
Hi Jozsef,

There isn't really anything formal I'm afraid. The pointcut parser is not generated from a grammar file in ajc. The team working on the abc compiler (alternative implementation of AspectJ) did write a formal grammar but I think we have diverged from that in recent years (I'm not totally sure). Did you need it for something specific? Those docs are getting quite old now and unfortunately we are not finding time to keep these kinds of area up to date with the implementation.

cheers,
Andy


On 29 September 2013 02:28, Jozsef Hegedus <jhegedus42@xxxxxxxxx> wrote:
Hi,

The pattern syntax for AspectJ is given at the bottom of this webpage (see also below):

http://eclipse.org/aspectj/doc/released/progguide/semantics-pointcuts.html

However, I was unable to find an explanation for this grammar. Where can I find that ?

For example it is not clear to me what the following means (taken from the last line from the Pattern Summary):
JavaModifier  ...

Pattern Summary

Here is a summary of the pattern syntax used in AspectJ:

MethodPattern = 
  [ModifiersPattern] TypePattern 
        [TypePattern . ] IdPattern (TypePattern | ".." , ... ) 
        [ throws ThrowsPattern ]
ConstructorPattern = 
  [ModifiersPattern ] 
        [TypePattern . ] new (TypePattern | ".." , ...) 
        [ throws ThrowsPattern ]
FieldPattern = 
  [ModifiersPattern] TypePattern [TypePattern . ] IdPattern
ThrowsPattern = 
  [ ! ] TypePattern , ...
TypePattern = 
    IdPattern [ + ] [ [] ... ]
    | ! TypePattern
    | TypePattern && TypePattern
    | TypePattern || TypePattern
    | ( TypePattern )  
IdPattern =
  Sequence of characters, possibly with special * and .. wildcards
ModifiersPattern =
  [ ! ] JavaModifier  ...
Cheers

Jozsef

_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users




_______________________________________________
aspectj-users mailing list
aspectj-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/aspectj-users


Back to the top