Mathspp Blog

342 391,958 32,910
articles words lines of code

In the 9th part of this series of building a Python compiler and interpreter we will add support for Boolean operators and Boolean short-circuiting.

In the 8th part of this series of building a Python compiler and interpreter we will add support for Boolean literals and Boolean operators.

In the 7th part of this series of building a Python compiler and interpreter we will add support for if statements.

In the 6th part of this series of building a Python compiler and interpreter we will add support for variables, simple assignments, and chained assignments.

In the 5th part of this series of building a Python compiler and interpreter we will add support for multiple statements in our program.

In the 4th part of this series of building a Python compiler and interpreter we will add support for more arithmetic operations and parenthesised expressions.

In the third part of this series of building a Python compiler and interpreter we will make our parser, compiler, and interpreter, much more flexible with the visitor pattern.

In this tutorial series we will build a Python compiler and interpreter from scratch. We start with simple arithmetic expressions.

Today I learned how to disassemble Python code with the module dis.

In part 4 of this series we add some unit testing, improve our tokenizer and implement the primitives ⍴ and ⍀.

In this blog post I'll show you how you can write a full interpreter for the brainf*ck programming language in just 14 lines of Python. Be prepared, however, to see some unconventional Python code!

In this blog post we will go over some significant changes, from implementing APL's array model to introducing dyadic operators!

Today is the day! Today is the day we take our APL programs and interpret them, so that something like ÷ 1 2 3 -⍨ 1.1 2.2 3.3 can output 10 5 3.33333333.

Let's build a simple APL interpreter! APL is an array-oriented programming language I picked up recently. The ease with which I can write code related to mathematics, its strange built-ins (which look like ⍴, ⍨, ⍒ or ⍣) and the fact that it is executed from right to left make it a fresh learning experience!

Run on Repl.it

This blog post tells the short story of how I wrote a simple interpreter for a toy programming language!