Working version using ANTLR4