removed "extremely ambigous" warning; has been ignored by everyone for years.
authorkleing
Tue, 09 Aug 2011 16:09:10 +0200
changeset 44971954e9d6782ea
parent 44970 5e14f591515e
child 44974 04e51b7a3422
removed "extremely ambigous" warning; has been ignored by everyone for years.
src/Pure/Syntax/parser.ML
     1.1 --- a/src/Pure/Syntax/parser.ML	Tue Aug 09 17:33:17 2011 +0200
     1.2 +++ b/src/Pure/Syntax/parser.ML	Tue Aug 09 16:09:10 2011 +0200
     1.3 @@ -747,7 +747,7 @@
     1.4    in get_prods (connected_with chains nts nts) [] end;
     1.5  
     1.6  
     1.7 -fun PROCESSS ctxt warned prods chains Estate i c states =
     1.8 +fun PROCESSS ctxt prods chains Estate i c states =
     1.9    let
    1.10      fun all_prods_for nt = prods_for prods chains true c [nt];
    1.11  
    1.12 @@ -773,14 +773,6 @@
    1.13                          val tk_prods = all_prods_for nt;
    1.14                          val States' = mk_states i min_prec nt (get_RHS min_prec tk_prods);
    1.15                        in (Inttab.update (nt, (min_prec, [])) used, States') end);
    1.16 -
    1.17 -                val _ =
    1.18 -                  if not (! warned) andalso
    1.19 -                     length new_states + length States > Config.get ctxt branching_level then
    1.20 -                    (Context_Position.if_visible ctxt warning
    1.21 -                      "Currently parsed expression could be extremely ambiguous";
    1.22 -                     warned := true)
    1.23 -                  else ();
    1.24                in
    1.25                  processS used' (new_states @ States) (S :: Si, Sii)
    1.26                end
    1.27 @@ -803,7 +795,7 @@
    1.28    in processS Inttab.empty states ([], []) end;
    1.29  
    1.30  
    1.31 -fun produce ctxt warned prods tags chains stateset i indata prev_token =
    1.32 +fun produce ctxt prods tags chains stateset i indata prev_token =
    1.33    (case Array.sub (stateset, i) of
    1.34      [] =>
    1.35        let
    1.36 @@ -821,10 +813,10 @@
    1.37          [] => s
    1.38        | c :: cs =>
    1.39            let
    1.40 -            val (si, sii) = PROCESSS ctxt warned prods chains stateset i c s;
    1.41 +            val (si, sii) = PROCESSS ctxt prods chains stateset i c s;
    1.42              val _ = Array.update (stateset, i, si);
    1.43              val _ = Array.update (stateset, i + 1, sii);
    1.44 -          in produce ctxt warned prods tags chains stateset (i + 1) cs c end));
    1.45 +          in produce ctxt prods tags chains stateset (i + 1) cs c end));
    1.46  
    1.47  
    1.48  fun get_trees states = map_filter (fn (_, _, [pt], _, _, _) => SOME pt | _ => NONE) states;
    1.49 @@ -841,7 +833,7 @@
    1.50      val _ = Array.update (Estate, 0, S0);
    1.51    in
    1.52      get_trees
    1.53 -      (produce ctxt (Unsynchronized.ref false) prods tags chains Estate 0 indata Lexicon.eof)
    1.54 +      (produce ctxt prods tags chains Estate 0 indata Lexicon.eof)
    1.55    end;
    1.56  
    1.57