# Let's Build A Simple Interpreter. Part 16: Recognizing Procedure Calls

DevFeed: [Let's Build A Simple Interpreter. Part 16: Recognizing Procedure Calls](<https://devfeed.tech/articles/let-s-build-a-simple-interpreter-part-16-recognizing-procedure-calls-33319.md>)

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

Author: Ruslan Spivak

Published: 2019-07-23T12:20:00Z

Content type: tutorial

Language: en

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

Topics: [Parser](<https://devfeed.tech/topics/parser.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [components](<https://devfeed.tech/tags/components.md>), [examples](<https://devfeed.tech/tags/examples.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [semantic](<https://devfeed.tech/tags/semantic.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [token](<https://devfeed.tech/tags/token.md>)

## AI overview

This tutorial extends a simple interpreter to recognize procedure calls. It explains the required parser, grammar, and AST changes so procedure-call programs can be parsed and traversed by the semantic analyzer and interpreter without errors.

## Source excerpt

Learning is like rowing upstream: not to advance is to drop back. -- Chinese proverb