Simon Wright <[email protected]> writes:

> Ada-mode 5.01
>
> Problem with
>
> package Foo is
> type Inclusive is new Float range 0.0 .. 42.0;
> end Foo;
>
> Last parse error is
>
> foo.ads:2:46: syntax error in grammar state 1109; unexpected ;,
> expecting one of (default WITH AND)

grammar bug; fixed in 5.0.2. here's a patch:

--- ada-grammar.wy      2135c5f5f0ac910e693db245ab9912dce51aed0f
+++ ada-grammar.wy      a598ecca4e0e84f528e0c0a370da8129a01248ba
@@ -173,10 +173,10 @@
 ;; known conflicts that are resolved by generalized LALR parser
 %conflict REDUCE/REDUCE in state abstract_limited_opt, 
abstract_limited_synchronized_opt on token NEW
 %conflict REDUCE/REDUCE in state abstract_limited_synchronized_opt, 
abstract_limited_opt on token NEW
-%conflict REDUCE/REDUCE in state and_interface_list_opt, 
derived_type_definition on token WITH
 %conflict REDUCE/REDUCE in state choice_relation, relation on token AND
 %conflict REDUCE/REDUCE in state choice_relation, relation on token OR
 %conflict REDUCE/REDUCE in state choice_relation, relation on token XOR
+%conflict REDUCE/REDUCE in state constraint_opt, and_interface_list_opt on 
token WITH
 %conflict REDUCE/REDUCE in state expression_opt, association_opt on token COMMA
 %conflict REDUCE/REDUCE in state expression_opt, association_opt on token 
RIGHT_PAREN
 %conflict REDUCE/REDUCE in state identifier_list, name on token COMMA
@@ -619,12 +619,17 @@ constraint
 
 constraint
   : RANGE range ;; range_constraint
- ;; | digits_constraint ;; not in any code I have
+ ;; | digits_constraint ;; FIXME: not in any code I have
  ;; | delta_constraint ;; not in any code I have
   | index_constraint
  ;; | discriminant_constraint ;; not in any code I have
   ;
 
+constraint_opt
+  : ;; empty
+  | constraint
+  ;
+
 context_item : pragma | with_clause | use_clause;
 
 declaration
@@ -678,7 +683,7 @@ derived_type_definition
 
 derived_type_definition
   : abstract_limited_opt NEW name and_interface_list_opt WITH record_definition
-  | abstract_limited_opt NEW name
+  | abstract_limited_opt NEW name constraint_opt
   ;
 
 direct_name


-- 
-- Stephe

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

Reply via email to