So the story being told by the officer, or at least that's been released by the police department, is that there were some words back and forth, which lead to Brown attacking the officer.
Weapon or not, most states consider attacking a police officer to automatically be aggravated assault. Assuming the description of events coming from police is accurate, then the officer was severely beaten which would turn into aggravated assault anyway.
Aggravated assault is a felony in all states.
Again, assuming the story from the police is accurate, Brown walked away, then walked back, with his hands up mocking the officer, yet coming back to make another attack. The officer at some point fell into the car, and was being attacked by Brown. I don't know about Missouri, but in Ohio, Castle Doctrine would allow any citizen to defend them self with deadly force from the inside of their car. Of course, being a police officer, he's already authorized to defend himself with deadly force.
However, the officer has something else on their side. Case law. There is the Fleeing Felon Rule.
According to Wikipedia:
Assuming the officer had just taken the severe beating that had been claimed, then they have more than enough probable cause to believe that Brown posed a threat of serious physical harm. Right there is another point of justifying the shooting.
If the officer hadn't taken the beat down as claimed, then he's guilty of murder. BUT, had Brown assaulted him in the manner claimed, then he did his job correctly. So, like the Trayvon case, I feel this will come down to - was the shooter attacked first? Once that is settled, hopefully with dash cam evidence, this will be over quickly.