g-speche.ads, [...]: Add special case to recognize misspelling initial letter o as...
authorRobert Dewar <dewar@adacore.com>
Tue, 31 Oct 2006 18:00:56 +0000 (19:00 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 31 Oct 2006 18:00:56 +0000 (19:00 +0100)
2006-10-31  Robert Dewar  <dewar@adacore.com>

* g-speche.ads, g-speche.adb: Add special case to recognize misspelling
initial letter o as a zero.

From-SVN: r118281

gcc/ada/g-speche.adb
gcc/ada/g-speche.ads

index 26af290b3b1d83c38be101e03f40af04f6e4ef6b..9d00bc5e0991ac1f6ebac5b080c1c8a8352bdef2 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---                     Copyright (C) 1998-2005 AdaCore                      --
+--                     Copyright (C) 1998-2006, AdaCore                     --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -39,8 +39,7 @@ package body GNAT.Spelling_Checker is
 
    function Is_Bad_Spelling_Of
      (Found  : String;
-      Expect : String)
-      return   Boolean
+      Expect : String) return Boolean
    is
       FN : constant Natural := Found'Length;
       FF : constant Natural := Found'First;
@@ -60,9 +59,14 @@ package body GNAT.Spelling_Checker is
       elsif EN = 0 then
          return False;
 
-      --  If first character does not match, then definitely not misspelling
+         --  If first character does not match, then we consider that this is
+         --  definitely not a misspelling. An exception is when we expect a
+         --  letter O and found a zero.
 
-      elsif Found (FF) /= Expect (EF) then
+      elsif Found (FF) /= Expect (EF)
+        and then (Found (FF) /= '0'
+                    or else (Expect (EF) /= 'o' and then Expect (EF) /= 'O'))
+      then
          return False;
 
       --  Not a bad spelling if both strings are 1-2 characters long
@@ -149,7 +153,6 @@ package body GNAT.Spelling_Checker is
       else
          return False;
       end if;
-
    end Is_Bad_Spelling_Of;
 
 end GNAT.Spelling_Checker;
index f3482d47e3af75aa5e2cf1396d72fbfb21292915..ab3daeaecd5669b46fb617132db8c7208a28166c 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 S p e c                                  --
 --                                                                          --
---                     Copyright (C) 1998-2005 AdaCore                      --
+--                     Copyright (C) 1998-2006, AdaCore                     --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -40,8 +40,7 @@ package GNAT.Spelling_Checker is
 
    function Is_Bad_Spelling_Of
      (Found  : String;
-      Expect : String)
-      return   Boolean;
+      Expect : String) return Boolean;
    --  Determines if the string Found is a plausible misspelling of the
    --  string Expect. Returns True for an exact match or a probably
    --  misspelling, False if no near match is detected. This routine