What is a recommended way to create interpreter using antlr ? Should I make AST and then walk it in code ? Or maybe embed actions in parser with [return statements] ?