Added AST warm-up

This commit is contained in:
Mark 2023-03-23 10:23:44 -07:00
parent c0d9f64948
commit 8673634024

38
Misc/Warm-Ups/ast.tex Executable file
View File

@ -0,0 +1,38 @@
\documentclass[
solutions,
nowarning,
singlenumbering,
nopagenumber
]{../../resources/ormc_handout}
\usepackage[linguistics]{forest}
\begin{document}
\maketitle
{Warm-Up: What's an AST?}
{Prepared by Mark on \today. \\ Based on a true story.}
Say you have a valid string of simple arithmetic that contains no unary operators (like $3!$ or $-4$) and no parenthesis:
$$
3 + 9 \times 8 \div 5 \land 6
$$
You may assume that all numbers and operators in this string consist of exactly one character. \\
Devise an algorithm that turns this string into a tree (as shown below), respecting the order of operations $[\land, \times, \div, +, -]$.
\begin{center}
\begin{forest}
[$+$
[3]
[$\div$
[$\times$[9][8]]
[$\land$[5][6]]
]
]
\end{forest}
\end{center}
\end{document}