So you want to parse a programming language. You want to turn some text into a semantic data structure representing the structure of the program as written by the user. But how exactly do you structure such a semantic model? A Parse Tree (sometimes called a Concrete Syntax Tree, or CST) is what a grammar-based parsing tool like ANTLR typically produces for this purpose. This faithfully represents