Added AST warm-up
This commit is contained in:
parent
c0d9f64948
commit
8673634024
38
Misc/Warm-Ups/ast.tex
Executable file
38
Misc/Warm-Ups/ast.tex
Executable 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}
|
Loading…
x
Reference in New Issue
Block a user