Apparenlty I haven't read email all week! sorry, but I've been obsessed
with getting the external parser to work, and other good stuff ...

Simon Wright <[email protected]> writes:

> C-c C-f says
> int.adb:5:13: syntax error in grammar state 411; unexpected raise,
> expecting one of (default PLUS MINUS ABS NOT NULL NEW IDENTIFIER
> CHARACTER_LITERAL STRING_LITERAL LEFT_PAREN)

I can reproduce the problem with my current devel version.

Hm. ALRM Annex P says an aspect is:

     aspect_specification ::= 
        with aspect_mark [=> aspect_definition] {,
                aspect_mark [=> aspect_definition] }

     aspect_mark ::= aspect_identifier['Class]

     aspect_definition ::= name | expression | identifier


But you can't put 'raise' in an expression! Which is why the Ada mode
parser rejects it.

But GNAT GPL 2014 accepts it.

Maybe this is from an AI?

Randy says the next Ada version is described in
http://www.ada-auth.org/standards/2xrm/html/RM-13-1-1.html

But that gives the same 'expression' syntax for this.

Hmm; it does add:

36/3
 Alternative legality and semantics rules may apply for particular
 aspects, as specified elsewhere in this International Standard.

(that should be 36/4? 2012 is /3; this is new in 202x. or maybe it's
just a clarificaton of 2012?)

Searching that LRM for Dynamic_Predicate didn't turn up anything.

There was a recent discussion on comp.lang.ada about the new aspect
Predicate_Failure; that's in the 202x manual, but it still doesn't give
a syntax that allows 'raise'.

I'll ask on comp.lang.ada.
-- 
-- Stephe

_______________________________________________
Emacs-ada-mode mailing list
[email protected]
http://host114.hostmonster.com/mailman/listinfo/emacs-ada-mode_stephe-leake.org

Reply via email to