public static IEnumerable<Datum> ReadDatums(Assembly assembly, string resourceFile)
{
var stream = assembly.GetManifestResourceStream(resourceFile);
if (stream == null)
throw new Exception(string.Format("Unable to find '{0}' embedded resource", resourceFile));
var s = new Scanner(new StreamReader(stream)) { Filename = resourceFile };
var p = new Parser(s);
Datum d;
while ((d = p.parse()) != null)
{
yield return d;
}
}