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
