private Variable ParseVariable()
        {
            var type = ParseType(false);

            if (type == null)
            {
                return(null);
            }

            var node = new Variable();

            node.AddChild(type);

            do
            {
                var definition = ParseVarDefinition();

                node.AddChild(definition);
            } while (NextToken().IsDelimiter(Delimiter.Comma));
            _stream.Previous(); // Not comma encountered

            var t = NextToken();

            AssertDelimiter(Delimiter.Semicolon, t);

            return(node);
        }