예제 #1
0
        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);
        }
예제 #2
0
        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);
        }