// Parse a single variable declaration void ParseVarDecl(ParseContext ctx, ast.StatementVariableDeclaration decl) { var bmk = t.GetBookmark(); // Variable name t.Require(Token.identifier); var name = t.identifier; t.Next(); // Optional initial value ast.Expression InitialValue = null; if (t.SkipOptional(Token.assign)) { InitialValue = ParseSingleExpression(ctx); } // Store it decl.AddDeclaration(bmk, name, InitialValue); }