X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=CarFire%2FCarFire%2FCarFire%2FParse.cs;h=4c2abcc416fd972cc14fef4f03b3fb279c2d2b33;hb=f41d1413bdee1a69450ca6c2bca9932a4c61a6d9;hp=b9320778babcbcdfb62d685aec9306ce2639d6c7;hpb=1393586d1e5639ac8f1e9fc8183644050dd54165;p=chaz%2Fcarfire
diff --git a/CarFire/CarFire/CarFire/Parse.cs b/CarFire/CarFire/CarFire/Parse.cs
index b932077..4c2abcc 100644
--- a/CarFire/CarFire/CarFire/Parse.cs
+++ b/CarFire/CarFire/CarFire/Parse.cs
@@ -9,7 +9,8 @@ namespace CarFire
{
///
/// Class with handy static methods taking strings and returning objects
- /// parsed from those strings.
+ /// parsed from those strings. For all of these functions, white space is
+ /// generally ignored, but superfluous characters are not allowed.
///
public class Parse
{
@@ -29,7 +30,7 @@ namespace CarFire
/// Parses a comment of an INI file.
///
/// Text.
- /// The comment.
+ /// The comment, or null if parsing failed.
public static string IniComment(string line)
{
Match match = Regex.Match(line, @"^;\s*(.*)\s*$");
@@ -108,6 +109,18 @@ namespace CarFire
return null;
}
+ ///
+ /// Parses a single character.
+ ///
+ /// Text.
+ /// The character, or null if parsing failed.
+ public static char? Char(string atom)
+ {
+ string str = String(atom);
+ if (str != null && str.Length == 1) return str[0];
+ return null;
+ }
+
///
/// Parses a constant from an enum.
///
@@ -118,7 +131,7 @@ namespace CarFire
{
try
{
- return (T)System.Enum.Parse(typeof(T), String(atom), true);
+ return (T)System.Enum.Parse(typeof(T), String(atom));
}
#pragma warning disable 0168
catch (System.Exception ex)
@@ -168,7 +181,7 @@ namespace CarFire
/// Parses a function.
///
/// Text.
- /// An array two strings containing the function name and
+ /// An array with two strings containing the function name and
/// parameter-list, in that order, or null if parsing failed.
public static string[] Function(string atom)
{