Shift means that you need to put the status and terminal symbol on the stack. But what is the terminal symbol used for? After all, if the reduce command is executed, both the state and the terminal symbol are deleted and the terminal symbol will never be used.
Why not push into the stack only state?
(English is not my native language, so please be kind to my mistakes)