my toy implementation of the yacc