# Let's Build A Simple Interpreter. Part 7: Abstract Syntax Trees

DevFeed: [Let's Build A Simple Interpreter. Part 7: Abstract Syntax Trees](<https://devfeed.tech/articles/let-s-build-a-simple-interpreter-part-7-abstract-syntax-trees-33328.md>)

Original publisher: [Read original article](<https://ruslanspivak.com/lsbasi-part7/>)

Author: Ruslan Spivak

Published: 2015-12-15T12:00:00Z

Content type: tutorial

Language: en

Sources: [Ruslan Spivak](<https://devfeed.tech/sources/ruslan-spivak.md>)

Topics: [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [Concrete syntax tree](<https://devfeed.tech/topics/cst.md>), [Code](<https://devfeed.tech/topics/code.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [code](<https://devfeed.tech/tags/code.md>), [computer-science](<https://devfeed.tech/tags/computer-science.md>), [data-structures](<https://devfeed.tech/tags/data-structures.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [structure](<https://devfeed.tech/tags/structure.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

## AI overview

This tutorial explains why an interpreter for more complex Pascal constructs can use an intermediate representation, focusing on trees and abstract syntax trees. It also introduces parse trees, or concrete syntax trees, and compares their roles with ASTs.

## Source excerpt

As I promised you last time, today I will talk about one of the central data structures that we'll use throughout the rest of the series, so buckle up and let's go. Up until now, we had our interpreter and parser code mixed together and the interpreter would ...