[Gd-chatter] r11499 - trunk/fundev/sources/lib/string-extensions

cgay at gwydiondylan.org cgay at gwydiondylan.org
Sun Nov 25 23:17:26 CET 2007


Author: cgay
Date: Sun Nov 25 23:17:25 2007
New Revision: 11499

Modified:
   trunk/fundev/sources/lib/string-extensions/library.dylan
   trunk/fundev/sources/lib/string-extensions/parse-string.dylan
Log:
Job: minor
Fix some return types and export parse-string and parse-index, which
are useful for error reporting.

Modified: trunk/fundev/sources/lib/string-extensions/library.dylan
==============================================================================
--- trunk/fundev/sources/lib/string-extensions/library.dylan	(original)
+++ trunk/fundev/sources/lib/string-extensions/library.dylan	Sun Nov 25 23:17:25 2007
@@ -62,7 +62,7 @@
 define module %parse-string
   use functional-dylan;
   // use extensions;
-  export <parse-string>, consume, lookahead, parse-string-done?;
+  export <parse-string>, parse-string, parse-index, consume, lookahead, parse-string-done?;
 end module %parse-string;
 
 

Modified: trunk/fundev/sources/lib/string-extensions/parse-string.dylan
==============================================================================
--- trunk/fundev/sources/lib/string-extensions/parse-string.dylan	(original)
+++ trunk/fundev/sources/lib/string-extensions/parse-string.dylan	Sun Nov 25 23:17:25 2007
@@ -37,31 +37,34 @@
 // pointer along.
 //
 define class <parse-string> (<object>)
-  constant slot string :: <sequence>, required-init-keyword: #"string";
-  slot index :: <integer>, init-value: 0;
+  constant slot parse-string :: <sequence>, required-init-keyword: #"string";
+  slot parse-index :: <integer>, init-value: 0;
 end class <parse-string>;
 
 define constant <character?> = false-or(<character>);
 
-define method consume (s :: <parse-string>) => s :: <parse-string>;
-  if (s.index >= size(s.string))
+define method consume
+    (s :: <parse-string>) => (result :: false-or(<parse-string>))
+  if (s.parse-index >= size(s.parse-string))
     #f;
   else
-    s.index := s.index + 1;
+    s.parse-index := s.parse-index + 1;
     s;
   end if;
 end method consume;
 
-define method lookahead (s :: <parse-string>) => answer :: <character?>;
-  if (s.index >= size(s.string))
+define method lookahead
+    (s :: <parse-string>) => (answer :: false-or(<character?>))
+  if (s.parse-index >= size(s.parse-string))
     #f;
   else
-    s.string[s.index];
+    s.parse-string[s.parse-index];
   end if;
 end method lookahead;
 
-define method parse-string-done? (s :: <parse-string>) => answer :: <boolean>;
-  s.index >= s.string.size;
+define method parse-string-done?
+    (s :: <parse-string>) => (answer :: <boolean>)
+  s.parse-index >= s.parse-string.size;
 end method parse-string-done?;
 
 



More information about the chatter mailing list