What's wrong is that you are guessing at code syntax, instead of looking at reference and examples. If you had one mistake, I would just tell you what it is, but you have so many that you need to hit the books.
There are multiple problems here. You seem to think you can use the pin number 2 directly to determine the pin state, but it doesn't work like that. The number 2 will always be 2 and will never be equal to HIGH. Please spend some time studying the digitalRead() documentation:
You are also using the assignment operator (=) instead of the comparison operator (==). Please read the documentation to understand the very important difference between the two:
You are also not using if correctly here, in the same way as above, and in a new way too! Please study the documentation to understand the correct syntax:
No, (2=HIGH) as well. But I was pointing at the nature of the thought process that created it. Semantically, it is correct, the intention is to echo the button state on the LED, which is laid out in the right order. Illegal syntax is not the same thing as syntax that fails because it does not match your semantics.
That is why, "getting it to compile" is not enough.