practise of lex & yacc