[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