private AstItem ReadPointerAssignment(TokenIterator tokens) { tokens.PopExpected(TokenKind.ExpressionOperator); var name = tokens.PopExpected(TokenKind.Word); tokens.PopExpected(TokenKind.AssigmnentOperator); var expression = ReadExpression(tokens, TokenKind.SemiColon); tokens.PopExpected(TokenKind.SemiColon); return(AstItem.PointerAssignment(name.Value, expression)); }