Practical Method for Constructing Efficient Lalr(k) Parsers by Philippe Charles