Hi William,

IDENTIFIER is the collection of names used for functions, procedures,
variables etc. It is defined like:

IDENTIFIER : LETTER (LETTER|'0'..'9')* ;
fragment LETTER : 'A'..'Z' | 'a'..'z' | '_' ;

And this way, 'data' falls into this category.

But then I add a rule to match 'pragma data':

pragma : 'pragma'^ (
...
        | ( 'data' constant '-' constant (',' constant '-' constant)* )         
...
    )
    ;

It uses the constant 'data' to match and this becomes a token on it's
own (either implicit or explicit). As a result of this, 'data' does
not match the category 'IDENTIFIER' any more.
I tried to change 'data' into 'd' 'a' 't' 'a', but at that point, it
does not match any more on the pragma statement and I don't understand
why.
Maybe I should replace all words like 'data' with their separate
letters. If that does not work, I am out of options and will search a
mailing list for help ;)

Joep

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/jallib?hl=en.

Reply via email to