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); }