public static GblStatement ParseStream ( [NotNull] TextReader reader ) { Sure.NotNull(reader, nameof(reader)); string command = reader.ReadLine(); if (string.IsNullOrEmpty(command)) { return(null); } GblStatement result = new GblStatement { Command = command.Trim(), Parameter1 = reader.RequireLine(), Parameter2 = reader.RequireLine(), Format1 = reader.RequireLine(), Format2 = reader.RequireLine() }; return(result); }
public static GblFile ParseStream ( [NotNull] TextReader reader ) { GblFile result = new GblFile(); string line = reader.RequireLine(); int count = int.Parse(line); for (int i = 0; i < count; i++) { GblParameter parameter = GblParameter.ParseStream(reader); result.Parameters.Add(parameter); } while (true) { GblStatement statement = GblStatement.ParseStream(reader); if (statement == null) { break; } result.Statements.Add(statement); } return(result); }