summaryrefslogtreecommitdiff
path: root/comp/lucas-standen-NEA/writeup/coverpage.ps
diff options
context:
space:
mode:
Diffstat (limited to 'comp/lucas-standen-NEA/writeup/coverpage.ps')
-rw-r--r--comp/lucas-standen-NEA/writeup/coverpage.ps721
1 files changed, 418 insertions, 303 deletions
diff --git a/comp/lucas-standen-NEA/writeup/coverpage.ps b/comp/lucas-standen-NEA/writeup/coverpage.ps
index f328a24..6cf0175 100644
--- a/comp/lucas-standen-NEA/writeup/coverpage.ps
+++ b/comp/lucas-standen-NEA/writeup/coverpage.ps
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.23.0
-%%CreationDate: Mon May 6 10:51:43 2024
+%%CreationDate: Mon May 6 12:02:29 2024
%%DocumentNeededResources: font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
@@ -8,7 +8,7 @@
%%DocumentSuppliedResources: file ast.ps
%%+ procset grops 1.23 0
%%LanguageLevel: 2
-%%Pages: 8
+%%Pages: 9
%%PageOrder: Ascend
%%DocumentMedia: Default 612 792 0 () ()
%%Orientation: Portrait
@@ -274,329 +274,447 @@ BP
/F0 12/Times-Bold@0 SF(NEA co)264.462 123 Q -.12(ve)-.12 G 3(rp).12 G
(age)-3 E/F1 10/Times-Italic@0 SF(Lucas standen)277.25 159 Q/F2 10
/Times-Roman@0 SF(7949)296 177 Q F1(ABSTRA)282.535 213 Q(CT)-.3 E/F3 10
-/Times-Bold@0 SF 2.5(1. Analysis)111 237 R 2.5(1.1. The)111 261 R(curr)
-2.5 E(ent pr)-.18 E(oblem)-.18 E F2 -.15(Fo)136 276.6 S 2.948(rg).15 G
-.448(eneral small and simple projects, I write in C. Ho)-2.948 F(we)-.25
-E -.15(ve)-.25 G 2.947(rt).15 G .447(his leads to hours of deb)-2.947 F
-(ug-)-.2 E .26(ging due to se)111 288.6 R(gf)-.15 E .26(aults, and memo\
-ry leaks. Due to the languages manual memory management the)-.1 F .362
-(programmer is required to kno)111 300.6 R 2.862(ws)-.25 G 2.861(om)
--2.862 G .361(uch information about the hardw)-2.861 F .361(are the)-.1
-F 2.861(yw)-.15 G .361(rite for)-2.861 F 2.861(,a)-.4 G .361(nd the)
--2.861 F(second an)111 312.6 Q(ything goes wrong, it is v)-.15 E
+/Times-Bold@0 SF 2.5(1. Reading)111 237 R(this document)2.5 E F2
+(This document is writen in rof)136 252.6 Q 2.5(fa)-.25 G
+(nd can be found online at)-2.5 E(https://github)111 276.6 Q
+(.com/standenbo)-.4 E
+(y/school/tree/master/comp/lucas-standen-NEA/writeup)-.1 E .714
+(It is using the ms macro of trof)111 300.6 R .714
+(f. It can be compiled using the Mak)-.25 F .713(e\214le, or mak)-.1 F
+.713(e.sh. A table of)-.1 F .454(contents has been generated using pdft\
+ocgen, it is embedded into the pdf, most pdf readers ha)111 312.6 R -.15
+(ve)-.2 G 2.5(ab)111 324.6 S(utton to open it \(\214refox has it in the\
+ top left, in zathura press tab to vie)-2.7 E 2.5(wi)-.25 G(t\).)-2.5 E
+2.676(An)111 348.6 S .176(ote on formating of the rof)-2.676 F .176
+(f, the te)-.25 F .175
+(xt is limited to 100 characters per line and is writen in plan)-.15 F
+.337(ascii, no utf8 emojis and the lik)111 360.6 R .337
+(e. code snippets are left in plain te)-.1 F .338
+(xt, and the full section of code)-.15 F(the)111 372.6 Q 2.89(ya)-.15 G
+.39(re from should be link)-2.89 F .39(ed abo)-.1 F .69 -.15(ve t)-.15 H
+.39(hem; assuming the).15 F 2.89(ya)-.15 G .39
+(re from a \214le and not a small e)-2.89 F(xam-)-.15 E .181(ple. An)111
+384.6 R 2.681(yc)-.15 G .182(omments on code snippets will be remo)
+-2.681 F -.15(ve)-.15 G 2.682(df).15 G .182(or the sak)-2.682 F 2.682
+(eo)-.1 G 2.682(fr)-2.682 G .182(eadability in the rof)-2.682 F 2.682
+(fd)-.25 G(ocu-)-2.682 E(ment, ho)111 396.6 Q(we)-.25 E -.15(ve)-.25 G
+2.5(rt).15 G(he can still be found in the ra)-2.5 E 2.5<778c>-.15 G
+(les.)-2.5 E F3 2.5(2. Analysis)111 432.6 R 2.5(2.1. The)111 456.6 R
+(curr)2.5 E(ent pr)-.18 E(oblem)-.18 E F2 -.15(Fo)136 472.2 S 2.948(rg)
+.15 G .448(eneral small and simple projects, I write in C. Ho)-2.948 F
+(we)-.25 E -.15(ve)-.25 G 2.947(rt).15 G .447(his leads to hours of deb)
+-2.947 F(ug-)-.2 E .26(ging due to se)111 484.2 R(gf)-.15 E .26(aults, \
+and memory leaks. Due to the languages manual memory management the)-.1
+F .362(programmer is required to kno)111 496.2 R 2.862(ws)-.25 G 2.861
+(om)-2.862 G .361(uch information about the hardw)-2.861 F .361(are the)
+-.1 F 2.861(yw)-.15 G .361(rite for)-2.861 F 2.861(,a)-.4 G .361(nd the)
+-2.861 F(second an)111 508.2 Q(ything goes wrong, it is v)-.15 E
(ague on ho)-.25 E 2.5(wt)-.25 G 2.5<6f8c>-2.5 G 2.5(xt)-2.5 G(hings.)
--2.5 E F3 2.5(In)111 336.6 S(eed a language that stops me fr)-2.5 E
-(om shooting myself in the f)-.18 E(oot)-.25 E F2 2.584(Ch)111 360.6 S
+-2.5 E F3 2.5(In)111 532.2 S(eed a language that stops me fr)-2.5 E
+(om shooting myself in the f)-.18 E(oot)-.25 E F2 2.584(Ch)111 556.2 S
.084(as been standard for man)-2.584 F 2.584(yd)-.15 G .084(ecades no)
-2.584 F 2.584(wa)-.25 G .084(nd its age is sho)-2.584 F .084
(wing, it lacks man)-.25 F 2.585(ym)-.15 G .085(odern features)-2.585 F
-(lik)111 372.6 Q 2.605(eO)-.1 G(OP)-2.605 E 2.605(,o)-1.11 G 2.605(rh)
+(lik)111 568.2 Q 2.605(eO)-.1 G(OP)-2.605 E 2.605(,o)-1.11 G 2.605(rh)
-2.605 G .105(igher le)-2.605 F -.15(ve)-.25 G 2.605(lf).15 G .105
(unctional abstractions, that ha)-2.605 F .405 -.15(ve b)-.2 H .105
(ecome common in modern years due).15 F 1.303
-(to there helpfulness. This is not to f)111 384.6 R 1.303(ault C')-.1 F
+(to there helpfulness. This is not to f)111 580.2 R 1.303(ault C')-.1 F
3.803(sa)-.55 G(chie)-3.803 E -.15(ve)-.25 G 1.303(ments either).15 F
3.804(,t)-.4 G 1.304(he language is my personal)-3.804 F .66
-(choice for most projects for a reason, it')111 396.6 R 3.159(sf)-.55 G
+(choice for most projects for a reason, it')111 592.2 R 3.159(sf)-.55 G
.659(ast and po)-3.259 F .659(werful; an)-.25 F 3.159(ys)-.15 G .659
(olution I mak)-3.159 F 3.159(es)-.1 G .659(hould not cut)-3.159 F
-(that a)111 408.6 Q -.1(wa)-.15 G -.65(y.).1 G F3 2.5(1.2. A)111 444.6 R
-(solution)2.5 E/F4 10/Times-BoldItalic@0 SF(Zippy LANG)136.61 460.2 Q F2
-3.378(An)111 484.2 S -.15(ex)-3.378 G 3.378(tg).15 G .878
+(that a)111 604.2 Q -.1(wa)-.15 G -.65(y.).1 G F3 2.5(2.2. A)111 640.2 R
+(solution)2.5 E/F4 10/Times-BoldItalic@0 SF(Zippy LANG)136.61 655.8 Q F2
+3.378(An)111 679.8 S -.15(ex)-3.378 G 3.378(tg).15 G .878
(eneration language, for general use. Designed for k)-3.378 F .879
-(eeping code simple, neat and read-)-.1 F 3.307(able. It)111 496.2 R
+(eeping code simple, neat and read-)-.1 F 3.307(able. It)111 691.8 R
.807(will be similar to functional languages, kno)3.307 F .807
(wn for there strict ability to k)-.25 F .806(eep code safe)-.1 F .223
-(and practical. The language should be interpreted lik)111 508.2 R 2.724
+(and practical. The language should be interpreted lik)111 703.8 R 2.724
(ep)-.1 G .224(ython, perl and lisp, to allo)-2.824 F 2.724(wf)-.25 G
-.224(or easy de-)-2.724 F -.2(bu)111 520.2 S(gging tools.).2 E
-(The goal of Zipp)111 544.2 Q 2.5(yi)-.1 G 2.5(st)-2.5 G 2.5(om)-2.5 G
-(ak)-2.5 E 2.5(ec)-.1 G(odding easier)-2.5 E 2.5(,w)-.4 G
-(hile remaining f)-2.5 E(ast, with a interpreter writen in C.)-.1 E F3
-2.5(1.3. Clients)111 580.2 R F2 1.194
-(In a project of this nature, the Client is e)136 595.8 R -.15(ve)-.25 G
-1.194(ry programmer ali).15 F -.15(ve)-.25 G 3.694(;w).15 G 1.193
-(hich is a pretty lar)-3.694 F(ge)-.18 E 4.075(scope. T)111 607.8 R
-4.075(on)-.8 G(arro)-4.075 E 4.075(wt)-.25 G 1.575(his do)-4.075 F 1.576
-(wn as much as possible, I will intervie)-.25 F 4.076(was)-.25 G 1.576
-(mall handful of people)-4.076 F(throughout the project, of dif)111
-619.8 Q(ferent skill le)-.25 E -.15(ve)-.25 G(ls.).15 E F3 2.5
-(1.3.1. Client)111 655.8 R(1, Amy C)2.5 E F2 .803(My \214rst client is \
-a friend of mine, Amy C, she is a con\214dent programmer who has com-)
-136 671.4 R .037(pleted man)111 683.4 R 2.537(yc)-.15 G .038
-(omplicated projects. I am choosing her as a client as she can gi)-2.537
-F .338 -.15(ve m)-.25 H 2.538(et).15 G .038(echnical feed)-2.538 F
-(back on my project and its function/utility)111 695.4 Q(.)-.65 E F3 2.5
-(1.3.2. Client)111 719.4 R(2, a technical user)2.5 E 2.5(,b)-.92 G
-(ut not a pr)-2.7 E(ogrammer)-.18 E 0 Cg EP
+.224(or easy de-)-2.724 F -.2(bu)111 715.8 S(gging tools.).2 E 0 Cg EP
%%Page: 2 2
%%BeginPageSetup
BP
%%EndPageSetup
-/F0 10/Times-Roman@0 SF(-2-)300.17 48 Q(some stuf)136 84 Q 2.5(fa)-.25 G
-(bout this person.)-2.5 E/F1 10/Times-Bold@0 SF 2.5(1.3.3. Client)111
-108 R(3, a normie)2.5 E F0(some stuf)136 123.6 Q 2.5(fa)-.25 G(bout ho)
--2.5 E 2.5(wt)-.25 G(he normie \214nds the completed project.)-2.5 E F1
-2.5(1.3.4. Client)111 147.6 R(4, myself)2.5 E F0(I')136 163.2 Q .335
--.15(ve w)-.5 H .035(anted to tak).05 F 2.535(eo)-.1 G .034
-(ut a project lik)-2.535 F 2.534(et)-.1 G .034
-(his for a long long time, and this is the perfect oppor)-2.534 F(-)-.2
-E .597(tunity to do so, I will be assessing myself along the w)111 175.2
-R .598(ay of this, b)-.1 F .598(uilding the project to my per)-.2 F(-)
--.2 E(sonal speci\214cation.)111 187.2 Q F1 2.5(1.4. Examples)111 223.2
-R(of similar pr)2.5 E(ojects)-.18 E F0 .676(As Zipp)136 238.8 R 3.176
-(yw)-.1 G .676(ill be interpreted, I should compare it to other such la\
-nguages; trying to com-)-3.176 F(pare it to C++/rust/go, isn')111 250.8
-Q 2.5(th)-.18 G(elpful as the)-2.5 E 2.5(ya)-.15 G(re so v)-2.5 E
-(ery dif)-.15 E(ferent in the w)-.25 E(ay the)-.1 E 2.5(yf)-.15 G
-(unction.)-2.5 E(Zipp)111 274.8 Q 2.724(yi)-.1 G 2.724(sb)-2.724 G 2.724
-(yf)-2.724 G .224
-(ar not the \214rst language, and I'm only one person, so I can')-2.824
-F 2.724(te)-.18 G .224(xpect to beat others in)-2.874 F -2.15 -.25(ev e)
-111 286.8 T(rything.).25 E(Belo)111 310.8 Q 2.5(wa)-.25 G(re a fe)-2.5 E
-2.5(wl)-.25 G(anguages that zipp)-2.5 E 2.5(ys)-.1 G
-(hould be compared to throught de)-2.5 E -.15(ve)-.25 G(lopemen:).15 E
-F1 2.5(1.4.1. Python)111 334.8 R F0 .273(Python is a high le)136 350.4 R
--.15(ve)-.25 G 2.773(lO).15 G .272(OP language that w)-2.773 F .272
-(as designed in 1991. It w)-.1 F .272(as made to mak)-.1 F 2.772(ep)-.1
-G(ro-)-2.772 E .262
-(gramming easy while still being able to use some of C')111 362.4 R
+/F0 10/Times-Roman@0 SF(-2-)300.17 48 Q(The goal of Zipp)111 84 Q 2.5
+(yi)-.1 G 2.5(st)-2.5 G 2.5(om)-2.5 G(ak)-2.5 E 2.5(ec)-.1 G
+(odding easier)-2.5 E 2.5(,w)-.4 G(hile remaining f)-2.5 E
+(ast, with a interpreter writen in C.)-.1 E/F1 10/Times-Bold@0 SF 2.5
+(2.3. What)111 120 R(is a pr)2.5 E(ogramming language)-.18 E 2.5
+(2.3.1. A)111 144 R -.1(ve)2.5 G(ry simple explanation).1 E F0 .07
+(At its lo)136 159.6 R .07
+(west de\214nition a PL is a set of speci\214c w)-.25 F .07
+(ords, that when gi)-.1 F -.15(ve)-.25 G 2.57(nt).15 G 2.57(oac)-2.57 G
+.07(omputer in the)-2.57 F .656(right order ha)111 171.6 R .957 -.15
+(ve a r)-.2 H .657(eproducible beha).15 F(viour)-.2 E 3.157(.Am)-.55 G
+.657(ore human w)-3.157 F .657(ay of saying that, w)-.1 F .657
+(ould be its ho)-.1 F(w)-.25 E(we control computers.)111 183.6 Q F1 2.5
+(2.3.2. Wh)111 207.6 R 2.5(ya)-.15 G .36 -.18(re t)-2.5 H(her).18 E 2.5
+(es)-.18 G 2.5(om)-2.5 G(any)-2.5 E F0 .468
+(When someone is looking at code it can often be seen as just that, ho)
+136 223.2 R(we)-.25 E -.15(ve)-.25 G 2.967(rt).15 G .467(here are hun-)
+-2.967 F .41(dreds of languages that all tak)111 235.2 R 2.91(et)-.1 G
+.411(he idea of "code" in v)-2.91 F .411(ery dif)-.15 F .411(ferent w)
+-.25 F .411(ays. Some are designed for)-.1 F .913(speci\214c hardw)111
+247.2 R .912(are, some are designed for making general use programs whi\
+le others are highly)-.1 F 2.655(specialized. It)111 259.2 R .156
+(is important to see "code", as more than just one o)2.655 F -.15(ve)
+-.15 G .156(rarching term and instead see).15 F
+(where the code is being used, and e)111 271.2 Q -.25(va)-.25 G
+(luate it from that.).25 E F1 2.5(2.4. Resear)111 319.2 R
+(ching, and getting a scope of the pr)-.18 E(oject)-.18 E F0 1.008
+(Before I start to design a language i should \214rst \214nd e)136 334.8
+R 1.007(xamples of others and \214nd what i)-.15 F -.1(wa)111 346.8 S
+(nt my language to be lik).1 E(e.)-.1 E(I')111 370.8 Q 3.658(dl)-.5 G
+(ik)-3.658 E 3.658(em)-.1 G 3.658(yl)-3.658 G 1.158
+(anguage to feel modern so i should tak)-3.658 F 3.658(ei)-.1 G 1.158
+(nspiration from what other modern lan-)-3.658 F .068(guages do, ho)111
+382.8 R(we)-.25 E -.15(ve)-.25 G 2.568(ro).15 G 2.568(nt)-2.568 G .068
+(he back)-2.568 F .068(ed i w)-.1 F .068
+(ant my language to be stable and f)-.1 F .068
+(ast, for that i should look)-.1 F(at older projects.)111 394.8 Q F1 2.5
+(2.4.1. Examples)111 430.8 R(of older similar pr)2.5 E(ojects, that ar)
+-.18 E 2.5(eag)-.18 G(ood base f)-2.5 E(or my language)-.25 E 2.5
+(2.4.1.1. Python)111 454.8 R F0 .272(Python is a high le)136 470.4 R
+-.15(ve)-.25 G 2.772(lO).15 G .272(OP language that w)-2.772 F .272
+(as designed in 1991. It w)-.1 F .273(as made to mak)-.1 F 2.773(ep)-.1
+G(ro-)-2.773 E .262
+(gramming easy while still being able to use some of C')111 482.4 R
2.762(sf)-.55 G .262(unctions. Although it has become stan-)-2.762 F
-(dard for man)111 374.4 Q 2.5(yu)-.15 G(se cases, it is slo)-2.5 E 2.5
+(dard for man)111 494.4 Q 2.5(yu)-.15 G(se cases, it is slo)-2.5 E 2.5
(wa)-.25 G(nd inef)-2.5 E(\214cient, and v)-.25 E(ery bloated.)-.15 E
-(https://www)111 398.4 Q(.p)-.65 E(ython.or)-.1 E(g/)-.18 E(Zipp)111
-422.4 Q 3.951(ys)-.1 G 1.451(hould tak)-3.951 F 3.951(ep)-.1 G 1.451
-(ythons high le)-4.051 F -.15(ve)-.25 G 3.951(la).15 G 1.451
-(bstractions, as the)-3.951 F 3.951(ym)-.15 G(ak)-3.951 E 3.951(ep)-.1 G
-1.45(rograming v)-3.951 F 1.45(ery easy and it)-.15 F
-(should try and tak)111 434.4 Q 2.5(en)-.1 G
-(otes from its libaries as the)-2.5 E 2.5(ya)-.15 G
-(re mostly well writen, and well documented.)-2.5 E F1 2.5(1.4.2. Lisp)
-111 458.4 R F0 .549(Lisp is the second e)136 474 R -.15(ve)-.25 G 3.049
-(rp).15 G .549(rogramming language, de)-3.049 F -.15(ve)-.25 G .549
-(loped at MiT).15 F 3.049(,i)-.74 G 3.05(ti)-3.049 G 3.05(st)-3.05 G .55
-(he \214rst functional)-3.05 F 1.45(language, creating man)111 486 R
-3.95(yc)-.15 G 1.45(ommon features lik)-3.95 F 3.95(eh)-.1 G 1.45
-(igher order functions, recursion, and g)-3.95 F(arbage)-.05 E 1.68
-(collection. It is generally not used an)111 498 R 1.681
-(ymore as it feels old compared to other functional lan-)-.15 F
-(guages, lik)111 510 Q 2.5(eo)-.1 G(caml or hask)-2.5 E(ell.)-.1 E
-(https://lisp-lang.or)111 534 Q(g/)-.18 E(Zipp)111 558 Q 3.393(ys)-.1 G
-.893(hould try to tak)-3.393 F 3.393(ea)-.1 G .893
-(lot from the syntax of lisp, \(\) mak)-3.393 F 3.392(ei)-.1 G 3.392(te)
--3.392 G .892(asy to see what parts of code)-3.392 F(will ef)111 570 Q
+(https://www)111 518.4 Q(.p)-.65 E(ython.or)-.1 E(g/)-.18 E(Zipp)111
+542.4 Q 3.395(ys)-.1 G .895(hould tak)-3.395 F 3.395(ep)-.1 G .895
+(ythons high le)-3.495 F -.15(ve)-.25 G 3.395(la).15 G .895
+(bstractions, as the)-3.395 F 3.395(ym)-.15 G(ak)-3.395 E 3.395(ep)-.1 G
+.895(rogramming v)-3.395 F .895(ery easy and it)-.15 F
+(should try and tak)111 554.4 Q 2.5(en)-.1 G
+(otes from its libraries as the)-2.5 E 2.5(ya)-.15 G
+(re mostly well written, and well documented.)-2.5 E F1 2.5
+(2.4.1.2. Lisp)111 578.4 R F0 .55(Lisp is the second e)136 594 R -.15
+(ve)-.25 G 3.049(rp).15 G .549(rogramming language, de)-3.049 F -.15(ve)
+-.25 G .549(loped at MiT).15 F 3.049(,i)-.74 G 3.049(ti)-3.049 G 3.049
+(st)-3.049 G .549(he \214rst functional)-3.049 F 1.45
+(language, creating man)111 606 R 3.95(yc)-.15 G 1.45
+(ommon features lik)-3.95 F 3.95(eh)-.1 G 1.45
+(igher order functions, recursion, and g)-3.95 F(arbage)-.05 E 1.42
+(collection. It is generally not used an)111 618 R 3.919(ym)-.15 G 1.419
+(ore as it feels old compared to other functional lan-)-3.919 F
+(guages, lik)111 630 Q 2.5(eO)-.1 G(caml or Hask)-2.5 E(ell.)-.1 E
+(https://lisp-lang.or)111 654 Q(g/)-.18 E(Zipp)111 678 Q 3.392(ys)-.1 G
+.892(hould try to tak)-3.392 F 3.392(ea)-.1 G .892
+(lot from the syntax of lisp, \(\) mak)-3.392 F 3.393(ei)-.1 G 3.393(te)
+-3.393 G .893(asy to see what parts of code)-3.393 F(will ef)111 690 Q
(fect what, and mak)-.25 E 2.5(et)-.1 G(hings easy to parse.)-2.5 E F1
-2.5(1.4.3. P)111 594 R(erl)-.2 E F0 .038(Perl is scripting language des\
-igned for use in linux, when bash is too slo)136 609.6 R 1.339 -.65
-(w, o)-.25 H 2.539(rn).65 G .039(ot suited for)-2.539 F .934(the job)111
-621.6 R 3.434(.P)-.4 G .934
-(erl is often described as the glue of the uni)-3.434 F -.15(ve)-.25 G
-.933(rse \(see xkcd https://3d.xkcd.com/224/\).).15 F
-(Its syntax is quite strange ho)111 633.6 Q(we)-.25 E -.15(ve)-.25 G 2.5
+2.5(2.4.1.3. P)111 714 R(erl)-.2 E F0 .038(Perl is scripting language d\
+esigned for use in linux, when bash is too slo)136 729.6 R 1.338 -.65
+(w, o)-.25 H 2.538(rn).65 G .038(ot suited for)-2.538 F 0 Cg EP
+%%Page: 3 3
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF(-3-)300.17 48 Q .933(the job)111 84 R 3.433(.P)
+-.4 G .934(erl is often described as the glue of the uni)-3.433 F -.15
+(ve)-.25 G .934(rse \(see xkcd https://3d.xkcd.com/224/\).).15 F
+(Its syntax is quite strange ho)111 96 Q(we)-.25 E -.15(ve)-.25 G 2.5
(ra).15 G(nd it is slo)-2.5 E 1.3 -.65(w. M)-.25 H
(aking it poorly suited to).65 E -.1(wa)-.25 G(rds general use.).1 E
-(https://www)111 657.6 Q(.perl.or)-.65 E(g/)-.18 E(Zipp)111 681.6 Q
-2.805(ys)-.1 G .305(hould tak)-2.805 F 2.805(ef)-.1 G .305(rom perls mi\
-nimalisum, it is a small language that is of a similar size to bash)
--2.805 F .407(or zsh, while feeling closer to p)111 693.6 R .406
-(ython. If zipp)-.1 F 2.906(yc)-.1 G .406(an achie)-2.906 F .706 -.15
-(ve a s)-.25 H .406(imilar small size, while remaining).15 F(po)111
-705.6 Q(werful I will be happ)-.25 E -.65(y.)-.1 G 0 Cg EP
-%%Page: 3 3
+(https://www)111 120 Q(.perl.or)-.65 E(g/)-.18 E(Zipp)111 144 Q 3.083
+(ys)-.1 G .583(hould tak)-3.083 F 3.083(ef)-.1 G .583(rom perls minimal\
+ism, it is a small language that is of a similar size to bash)-3.083 F
+.406(or zsh, while feeling closer to p)111 156 R .406(ython. If zipp)-.1
+F 2.906(yc)-.1 G .406(an achie)-2.906 F .706 -.15(ve a s)-.25 H .407
+(imilar small size, while remaining).15 F(po)111 168 Q
+(werful I will be happ)-.25 E -.65(y.)-.1 G/F1 10/Times-Bold@0 SF 2.5
+(2.4.2. Examples)111 204 R(of new similar pr)2.5 E(ojects that ar)-.18 E
+2.5(ea)-.18 G(lso a good base)-2.5 E 2.5(2.4.2.1. Gleam)111 228 R F0
+.663(Gleam is a modern language releasing in the past 5 years. It is hi\
+ghly functional, with no)136 243.6 R .228(mutable data, no traditional \
+loops. Instead recursion can be used to replace alot of these features.)
+111 255.6 R .947(Gleam compiles to erlang/Beam bytecode, much lik)111
+267.6 R 3.447(ej)-.1 G -.2(av)-3.447 G 3.447(at)-.05 G 3.447(ot)-3.447 G
+.946(he jvm, and doing this has made)-3.447 F(Gleam a highly scalable l\
+anguage with good library support out the box.)111 279.6 Q
+(https://gleam.run/)111 303.6 Q(Zipp)111 327.6 Q 2.89(ys)-.1 G .39
+(hould tak)-2.89 F 2.89(ef)-.1 G .391
+(rom the functional elements of Gleam, as the)-2.89 F 2.891(yk)-.15 G
+.391(eep programs safer)-2.991 F 2.891(,h)-.4 G -.25(ow)-2.891 G -2.15
+-.25(ev e).25 H(r).25 E(Zipp)111 339.6 Q 2.5(ys)-.1 G(hould not remo)
+-2.5 E .3 -.15(ve a)-.15 H(ll procedural elements, as for loops are v)
+.15 E(ery helpful)-.15 E F1 2.5(2.4.2.2. Hask)111 363.6 R(ell)-.1 E F0
+(Hask)136 379.2 Q 1.186(ell is another modern functional language kno)
+-.1 F 1.185(wn for being v)-.25 F 1.185(ery complicated, ho)-.15 F(w-)
+-.25 E -2.15 -.25(ev e)111 391.2 T 2.5(ri).25 G(ncredibly po)-2.5 E
+(werful. Its syntax feels v)-.25 E
+(ery mathematical, and incredibly terse.)-.15 E(https://www)111 415.2 Q
+(.hask)-.65 E(ell.or)-.1 E(g/)-.18 E .224(Perhaps Zipp)111 439.2 R 2.724
+(yc)-.1 G .224(ould learn from Hask)-2.724 F .225(ell, as it pro)-.1 F
+.225(vides functional and procedural elements, mak-)-.15 F
+(ing it a well rounded language)111 451.2 Q F1 2.5(2.4.2.3. Har)111
+475.2 R(e)-.18 E F0 .718(Hare w)136 490.8 R .717(as designed to be a 10\
+0 year language, and thus stability is its main goal, it is not)-.1 F
+.683(set to ha)111 502.8 R .983 -.15(ve a s)-.2 H .683(yntax change an)
+.15 F 3.183(yt)-.15 G .683
+(ime soon, and it has strong emphasis on memory safety)-3.183 F 3.184
+(.I)-.65 G 3.184<748c>-3.184 G(ts)-3.184 E(into the same part of the te\
+ch stack as C, and thus it can be used for some v)111 514.8 Q(ery lo)
+-.15 E 2.5(wl)-.25 G -2.15 -.25(ev e)-2.5 H 2.5(lw).25 G(ork.)-2.6 E
+(https://harelang.or)111 538.8 Q(g/)-.18 E 2.805(It)111 562.8 S .305
+(hink Zipp)-2.805 F 2.805(ys)-.1 G .305(hould ha)-2.805 F .605 -.15
+(ve a s)-.2 H .305(trong emphasis on stability).15 F 2.804(,t)-.65 G
+2.804(om)-2.804 G(an)-2.804 E 2.804(yt)-.15 G .304(imes ha)-2.804 F .604
+-.15(ve i s)-.2 H -.15(eg).15 G -.1(fa).15 G .304(ulted do to a).1 F
+(tin)111 574.8 Q 3.165(ym)-.15 G(istak)-3.165 E .665(e. Zipp)-.1 F 3.165
+(ys)-.1 G .665(hould also look to Hare small size, you can b)-3.165 F
+.665(uy a cop)-.2 F 3.166(yo)-.1 G 3.166(fH)-3.166 G .666(are on a)
+-3.166 F F1(SIN-)3.166 E(GLE 3 1/2')111 586.8 Q 2.5('F)-.63 G(LOPPY)-2.5
+E 2.5(2.4.3. What)111 622.8 R(should be tak)2.5 E(en away fr)-.1 E
+(om these languages?)-.18 E F0 2.784(Iw)136 638.4 S .284
+(as already leaning to)-2.884 F -.1(wa)-.25 G .283
+(rds functional programming when I started this project ho).1 F(we)-.25
+E -.15(ve)-.25 G(r).15 E(no)111 650.4 Q 2.81(wIb)-.25 G(elie)-2.81 E .61
+-.15(ve i)-.25 H(t').15 E 2.81(st)-.55 G .31
+(he only option for producing safe applications. Zipp)-2.81 F 2.81(yw)
+-.1 G .31(ill be a functional lan-)-2.81 F
+(guage with a strong emphasis on recursion.)111 662.4 Q 2.862(Ia)111
+686.4 S .362(lso belie)-2.862 F .661 -.15(ve t)-.25 H .361
+(hat I should tak).15 F 2.861(es)-.1 G .361
+(ize of the interpreter into account, as this is important for k)-2.861
+F(eep-)-.1 E(ing the project manageable and consistent.)111 698.4 Q .916
+(And \214nally I think that syntax should be inspired by Lisp, although\
+ Lisp itself can be a messy)111 722.4 R 0 Cg EP
+%%Page: 4 4
%%BeginPageSetup
BP
%%EndPageSetup
-/F0 10/Times-Roman@0 SF(-3-)300.17 48 Q/F1 10/Times-Bold@0 SF 2.5
-(1.5. Questionnair)111 84 R(es)-.18 E F0 2.133
-(It is important to get feedback from end users, so I will tak)136 99.6
+/F0 10/Times-Roman@0 SF(-4-)300.17 48 Q .198
+(language, with the right changes I am con\214dent that I can mak)111 84
+R 2.697(eaa)-.1 G(ttracti)-2.697 E .497 -.15(ve l)-.25 H .197
+(anguage for the 21st).15 F(century)111 96 Q(.)-.65 E/F1 10/Times-Bold@0
+SF 2.5(2.5. Clients)111 132 R F0 1.194
+(In a project of this nature, the Client is e)136 147.6 R -.15(ve)-.25 G
+1.194(ry programmer ali).15 F -.15(ve)-.25 G 3.694(;w).15 G 1.194
+(hich is a pretty lar)-3.694 F(ge)-.18 E 4.076(scope. T)111 159.6 R
+4.076(on)-.8 G(arro)-4.076 E 4.076(wt)-.25 G 1.576(his do)-4.076 F 1.576
+(wn as much as possible, I will intervie)-.25 F 4.075(was)-.25 G 1.575
+(mall handful of people)-4.075 F(throughout the project, of dif)111
+171.6 Q(ferent skill le)-.25 E -.15(ve)-.25 G(ls.).15 E F1 2.5
+(2.5.1. Client)111 207.6 R(1, Amy C)2.5 E F0 .803(My \214rst client is \
+a friend of mine, Amy C, she is a con\214dent programmer who has com-)
+136 223.2 R .038(pleted man)111 235.2 R 2.538(yc)-.15 G .038
+(omplicated projects. I am choosing her as a client as she can gi)-2.538
+F .337 -.15(ve m)-.25 H 2.537(et).15 G .037(echnical feed)-2.537 F
+(back on my project and its function/utility)111 247.2 Q(.)-.65 E F1 2.5
+(2.5.2. Client)111 271.2 R(2, a technical user)2.5 E 2.5(,b)-.92 G
+(ut not a pr)-2.7 E(ogrammer)-.18 E F0(some stuf)136 286.8 Q 2.5(fa)-.25
+G(bout this person.)-2.5 E F1 2.5(2.5.3. Client)111 310.8 R(3, a normie)
+2.5 E F0(some stuf)136 326.4 Q 2.5(fa)-.25 G(bout ho)-2.5 E 2.5(wt)-.25
+G(he normie \214nds the completed project.)-2.5 E F1 2.5(2.5.4. Client)
+111 350.4 R(4, myself)2.5 E F0(I')136 366 Q .334 -.15(ve w)-.5 H .034
+(anted to tak).05 F 2.534(eo)-.1 G .034(ut a project lik)-2.534 F 2.534
+(et)-.1 G .034(his for a long long time, and this is the perfect oppor)
+-2.534 F(-)-.2 E .598
+(tunity to do so, I will be assessing myself along the w)111 378 R .597
+(ay of this, b)-.1 F .597(uilding the project to my per)-.2 F(-)-.2 E
+(sonal speci\214cation.)111 390 Q F1 2.5(2.6. Questionnair)111 438 R(es)
+-.18 E F0 2.133
+(It is important to get feedback from end users, so I will tak)136 453.6
R 4.633(em)-.1 G 2.133(ultiple questionnaires)-4.633 F .852(throughout \
the project. I will then use them to slightly edit the requirements of \
-my project this)111 111.6 R(should mak)111 123.6 Q 2.5(et)-.1 G
+my project this)111 465.6 R(should mak)111 477.6 Q 2.5(et)-.1 G
(he \214nal outcome more helpful and what people w)-2.5 E(ant.)-.1 E
-(In the section bello)111 147.6 Q 2.5(wy)-.25 G
+(In the section bello)111 501.6 Q 2.5(wy)-.25 G
(ou will \214nd questionnaires from the analyses stage of my project.)
--2.5 E F1 2.5(1.5.1. Questionnair)111 171.6 R 2.5(e1f)-.18 G(or Amy C)
--2.75 E/F2 10/Times-BoldItalic@0 SF([30th April 2024])111.87 195.6 Q
-(answ)3.81 E(ered by amy)-.1 E 2.5(,s)-.37 G(ee pull request she left)
--2.5 E F1 2.5(1.5.1.1. What)111 219.6 R(do y)2.5 E
+-2.5 E F1 2.5(2.6.1. Questionnair)111 525.6 R 2.5(e1f)-.18 G(or Amy C)
+-2.75 E/F2 10/Times-BoldItalic@0 SF([30th April 2024])111.87 549.6 Q
+(answ)3.81 E(ered by Amy)-.1 E 2.5(,s)-.37 G(ee pull request she left)
+-2.5 E F1 2.5(2.6.1.1. What)111 573.6 R(do y)2.5 E
(ou \214nd the most important in a language? \(eg: speed, r)-.25 E
-(eadability\))-.18 E F0(Speed, readability)136 235.2 Q 2.5(,d)-.65 G(eb)
+(eadability\))-.18 E F0(Speed, readability)136 589.2 Q 2.5(,d)-.65 G(eb)
-2.5 E(ugging ease and disk space ef)-.2 E(\214cienc)-.25 E -.65(y.)-.15
-G F1 3.167(1.5.1.2. What)111 259.2 R .667(tools ar)3.167 F 3.167(ei)-.18
+G F1 3.167(2.6.1.2. What)111 613.2 R .667(tools ar)3.167 F 3.167(ei)-.18
G .668(mportant f)-3.167 F .668(or a language to ha)-.25 F -.1(ve)-.25 G
3.168(?\().1 G .668(eg: pkg-manager)-3.168 F 3.168(,I)-.92 G .668
-(DE integra-)-3.168 F(tion\))111 271.2 Q F0 1.141(IDE inte)136 286.8 R
+(DE integra-)-3.168 F(tion\))111 625.2 Q F0 1.141(IDE inte)136 640.8 R
1.141(gration \(things lik)-.15 F 3.641(et)-.1 G 1.141
(ab complete and deb)-3.641 F 1.141(ugging tools\), a package manager)
-.2 F 3.64(,a)-.4 G(nd)-3.64 E
(the ability to interact with the user through the command line easily)
-111 298.8 Q(.)-.65 E F1 3.363(1.5.1.3. What)111 322.8 R(featur)3.363 E
+111 652.8 Q(.)-.65 E F1 3.363(2.6.1.3. What)111 676.8 R(featur)3.363 E
.863(es do y)-.18 F .863(ou lik)-.25 F 3.363(ef)-.1 G -.18(ro)-3.363 G
3.363(mo).18 G .863(ther languages \(eg: C')-3.363 F 3.363(sa)-.37 G(dv)
--3.363 E .863(anced memory man-)-.1 F(agement, hask)111 334.8 Q(ell')-.1
+-3.363 E .863(anced memory man-)-.1 F(agement, hask)111 688.8 Q(ell')-.1
E 2.5(st)-.37 G(erse syntax\))-2.5 E F0 .26(The ability to pass the mem\
-ory reference of an object or function and a collection of b)136 350.4 R
-(uilt-)-.2 E(in or standard functions lik)111 362.4 Q 2.5(e")-.1 G
-(print", "split", or "sort".)-2.5 E F1 2.5(1.5.1.4. What)111 386.4 R
-(do y)2.5 E(ou want to pr)-.25 E
+ory reference of an object or function and a collection of b)136 704.4 R
+(uilt-)-.2 E(in or standard functions lik)111 716.4 Q 2.5(e")-.1 G
+(print", "split", or "sort".)-2.5 E 0 Cg EP
+%%Page: 5 5
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF(-5-)300.17 48 Q/F1 10/Times-Bold@0 SF 2.5
+(2.6.1.4. What)111 84 R(do y)2.5 E(ou want to pr)-.25 E
(ogram in this language \(eg: websites, lo)-.18 E 2.5(wl)-.1 G -2.3 -.15
(ev e)-2.5 H 2.5(ls).15 G(ystems\))-2.5 E F0
-(Lightweight command line tools and web back ends.)136 402 Q F1 2.5
-(1.5.1.5. Do)111 426 R -.25(yo)2.5 G 2.5(ui).25 G
+(Lightweight command line tools and web back ends.)136 99.6 Q F1 2.5
+(2.6.1.5. Do)111 123.6 R -.25(yo)2.5 G 2.5(ui).25 G
(ntend to use graphics in the pr)-2.5 E(ograms y)-.18 E(ou write?)-.25 E
-F0(No.)136 441.6 Q F1 2.5(1.5.1.6. W)111 465.6 R(ould y)-.75 E(ou pr)
+F0(No.)136 139.2 Q F1 2.5(2.6.1.6. W)111 163.2 R(ould y)-.75 E(ou pr)
-.25 E(efer a language that f)-.18 E(ocuses on ease of use, or po)-.25 E
-(wer of the code?)-.1 E F0 2.5(Il)136 481.2 S(ik)-2.5 E 2.5(eag)-.1 G
-(ood balance between the tw)-2.5 E(o.)-.1 E F1 2.5(1.5.1.7. What)111
-505.2 R(wer)2.5 E 2.5(ey)-.18 G(our last 3 pr)-2.75 E
+(wer of the code?)-.1 E F0 2.5(Il)136 178.8 S(ik)-2.5 E 2.5(eag)-.1 G
+(ood balance between the tw)-2.5 E(o.)-.1 E F1 2.5(2.6.1.7. What)111
+202.8 R(wer)2.5 E 2.5(ey)-.18 G(our last 3 pr)-2.75 E
(ojects? \(could they ha)-.18 E .2 -.1(ve b)-.25 H
-(een written in Zippy?\)).1 E F0 2.938(Aw)136 520.8 S .438
+(een written in Zippy?\)).1 E F0 2.938(Aw)136 218.4 S .438
(ebsite, a small command-line tool and a midi k)-2.938 F -.15(ey)-.1 G
-.439(board \(program runs on a Raspberry).15 F(Pi Pico\).)111 532.8 Q F1
-3.391(1.5.1.8. Ho)111 556.8 R 3.391(wm)-.1 G .891(any languages w)-3.391
+.439(board \(program runs on a Raspberry).15 F(Pi Pico\).)111 230.4 Q F1
+3.391(2.6.1.8. Ho)111 254.4 R 3.391(wm)-.1 G .891(any languages w)-3.391
F .891(ould y)-.1 F .891(ou use on a single pr)-.25 F .89
-(oject? \(could Zippy be used in)-.18 F -.25(yo)111 568.8 S
-(ur codebase?\)).25 E F0 2.5(It)136 584.4 S
+(oject? \(could Zippy be used in)-.18 F -.25(yo)111 266.4 S
+(ur codebase?\)).25 E F0 2.5(It)136 282 S
(ry to use as little languages in a project as possible, so lik)-2.5 E
-(ely not in an e)-.1 E(xisting project.)-.15 E F1 2.5(1.5.1.9. Do)111
-608.4 R -.25(yo)2.5 G 2.5(uc).25 G(ar)-2.5 E 2.5(ef)-.18 G(or lo)-2.75 E
+(ely not in an e)-.1 E(xisting project.)-.15 E F1 2.5(2.6.1.9. Do)111
+306 R -.25(yo)2.5 G 2.5(uc).25 G(ar)-2.5 E 2.5(ef)-.18 G(or lo)-2.75 E
2.5(wl)-.1 G -2.3 -.15(ev e)-2.5 H 2.5(lc).15 G(ontr)-2.5 E(ol, or w)
-.18 E(ould y)-.1 E(ou pr)-.25 E(efer high le)-.18 E -.1(ve)-.15 G 2.5
-(la).1 G(bstractions?)-2.5 E F0 2.931(It)136 624 S .431(hink lo)-2.931 F
-(w-le)-.25 E -.15(ve)-.25 G 2.931(lc).15 G .431(ontrol is v)-2.931 F
+(la).1 G(bstractions?)-2.5 E F0 2.931(It)136 321.6 S .431(hink lo)-2.931
+F(w-le)-.25 E -.15(ve)-.25 G 2.931(lc).15 G .431(ontrol is v)-2.931 F
.431(ery important, b)-.15 F .432(ut high-le)-.2 F -.15(ve)-.25 G 2.932
(la).15 G .432(bstractions are con)-2.932 F -.15(ve)-.4 G .432
-(nient, so a).15 F(good balance between the tw)111 636 Q 2.5(oi)-.1 G
-2.5(sb)-2.5 G(est.)-2.5 E F1 4.181(1.5.1.10. W)111 660 R 1.681(ould y)
+(nient, so a).15 F(good balance between the tw)111 333.6 Q 2.5(oi)-.1 G
+2.5(sb)-2.5 G(est.)-2.5 E F1 4.181(2.6.1.10. W)111 357.6 R 1.681(ould y)
-.75 F 1.681(ou be happy to de)-.25 F -.1(ve)-.15 G 1.681
(lop libraries f).1 F 1.681(or things that ar)-.25 F 1.68(en't alr)-.18
-F 1.68(eady imple-)-.18 F(mented \(eg: an SQL library\))111 672 Q F0
-(Potentially if it is simple enough to implement ne)136 687.6 Q 2.5(wt)
--.25 G(hings.)-2.5 E F1 2.5(1.5.2. Notes)111 723.6 R(fr)2.5 E
-(om questionnair)-.18 E 2.5(e1)-.18 G 0 Cg EP
-%%Page: 4 4
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(-4-)300.17 48 Q 2.994(Some of the k)136 84 R
+F 1.68(eady imple-)-.18 F(mented \(eg: an SQL library\))111 369.6 Q F0
+(Potentially if it is simple enough to implement ne)136 385.2 Q 2.5(wt)
+-.25 G(hings.)-2.5 E F1 2.5(2.6.2. Notes)111 421.2 R(fr)2.5 E
+(om questionnair)-.18 E 2.5(e1)-.18 G F0 2.994(Some of the k)136 436.8 R
3.294 -.15(ey t)-.1 H 2.994(hings that I'm taking a).15 F -.1(wa)-.15 G
5.494(yf).1 G 2.995(rom this \214rst questionnaire, are my)-5.494 F .461
-(client/users initial needs and use cases. I think it')111 96 R 2.961
+(client/users initial needs and use cases. I think it')111 448.8 R 2.961
(sc)-.55 G .461(lear my language can be of assistance to my)-2.961 F
-.842(client, Zipp)111 108 R 3.342(yw)-.1 G .843(ill be a good language \
-for web back ends and small command line tools, which)-3.342 F
-(my client e)111 120 Q(xpressed interested in.)-.15 E 2.564<498c>111 144
-S .064(nd the f)-2.564 F .064(act my client is w)-.1 F .064(orried by e)
--.1 F -.15(xe)-.15 G .064(cutable size interesting, ho).15 F(we)-.25 E
--.15(ve)-.25 G 2.564(rI).15 G .063(doubt it will be an is-)-.001 F
-(sue; a ballooning code-base is unlik)111 156 Q
-(ely as only one person is writing the project.)-.1 E 2.56(Ia)111 180 S
-2.56(ma)-2.56 G .06(lso taking on the f)-2.56 F .06
+.842(client, Zipp)111 460.8 R 3.342(yw)-.1 G .843(ill be a good languag\
+e for web back ends and small command line tools, which)-3.342 F
+(my client e)111 472.8 Q(xpressed interested in.)-.15 E 2.564<498c>111
+496.8 S .064(nd the f)-2.564 F .064(act my client is w)-.1 F .064
+(orried by e)-.1 F -.15(xe)-.15 G .064(cutable size interesting, ho).15
+F(we)-.25 E -.15(ve)-.25 G 2.564(rI).15 G .063(doubt it will be an is-)
+-.001 F(sue; a ballooning code-base is unlik)111 508.8 Q
+(ely as only one person is writing the project.)-.1 E 2.56(Ia)111 532.8
+S 2.56(ma)-2.56 G .06(lso taking on the f)-2.56 F .06
(act that my client w)-.1 F .06
-(ants good command line tools, so a pkg-manager and)-.1 F -.2(bu)111 192
-S(ndler should be a priority).2 E 2.5(,p)-.65 G(erhaps the)-2.5 E 2.5
-(yc)-.15 G(ould be written in Zipp)-2.5 E 2.5(ya)-.1 G
-(fter the interpreter is done.)-2.5 E/F1 10/Times-Bold@0 SF 2.5
-(1.5.3. The)111 228 R(\214rst elements of the pr)2.5 E(oject)-.18 E F0
-.173(At this stage I can say that I'm con\214dent in my project and its\
- scope. I ha)136 243.6 R .472 -.15(ve a g)-.2 H .172(oal in mind).15 F
-(for it.)111 255.6 Q F1(The k)111 279.6 Q(ey things to tak)-.1 E 2.5(ea)
--.1 G(way fr)-2.5 E(om this section ar)-.18 E(e:)-.18 E(----)111 303.6 Q
-F0(Mak)2.5 E 2.5(eah)-.1 G(igh le)-2.5 E -.15(ve)-.25 G 2.5(ll).15 G
+(ants good command line tools, so a pkg-manager and)-.1 F -.2(bu)111
+544.8 S(ndler should be a priority).2 E 2.5(,p)-.65 G(erhaps the)-2.5 E
+2.5(yc)-.15 G(ould be written in Zipp)-2.5 E 2.5(ya)-.1 G
+(fter the interpreter is done.)-2.5 E F1 2.5(2.6.3. The)111 580.8 R
+(\214rst elements of the pr)2.5 E(oject)-.18 E F0 .173(At this stage I \
+can say that I'm con\214dent in my project and its scope. I ha)136 596.4
+R .472 -.15(ve a g)-.2 H .172(oal in mind).15 F(for it.)111 608.4 Q F1
+(The k)111 632.4 Q(ey things to tak)-.1 E 2.5(ea)-.1 G(way fr)-2.5 E
+(om this section ar)-.18 E(e:)-.18 E(----)111 656.4 Q F0(Mak)2.5 E 2.5
+(eah)-.1 G(igh le)-2.5 E -.15(ve)-.25 G 2.5(ll).15 G
(anguage with a useable set of features, to replace C in man)-2.5 E 2.5
-(ys)-.15 G(ituations.)-2.5 E F1(----)111 327.6 Q F0 -.25(Ke)2.5 G
+(ys)-.15 G(ituations.)-2.5 E F1(----)111 680.4 Q F0 -.25(Ke)2.5 G
(ep the language readable and easy).25 E 2.5(,w)-.65 G(ith po)-2.5 E
-(werful tools a)-.25 E -.25(va)-.2 G(ilable.).25 E F1(----)111 351.6 Q
+(werful tools a)-.25 E -.25(va)-.2 G(ilable.).25 E F1(----)111 704.4 Q
F0(Ensure the language is well supported with tools lik)2.5 E 2.5(eap)
--.1 G(kg-manager)-2.5 E(.)-.55 E F1 2.5(1.6. Abstract)111 387.6 R
-(data structur)2.5 E(es and ther)-.18 E 2.5(ei)-.18 G(mplementations)
--2.5 E F0 1.241(In lar)136 403.2 R 1.241(ger projects, when a programme\
-r needs a data structure that the language the)-.18 F 3.742(ya)-.15 G
-(re)-3.742 E(writing in doesn')111 415.2 Q 2.5(tp)-.18 G(ro)-2.5 E
-(vide, the)-.15 E 2.5(yw)-.15 G(ill need to mak)-2.5 E 2.5(et)-.1 G
-(heir o)-2.5 E(wn.)-.25 E(Bello)111 439.2 Q 2.5(wa)-.25 G(re a fe)-2.5 E
-2.5(we)-.25 G(xamples of these data structures that C doesn')-2.65 E 2.5
-(ta)-.18 G(lready pro)-2.5 E(vide.)-.15 E F1 2.5(1.6.1. Link)111 463.2 R
-(ed lists)-.1 E F0 .382(this is an alternati)136 478.8 R .682 -.15(ve i)
--.25 H .381
-(mplementation of a list, where you store some data, and the memory).15
-F .043(address to the ne)111 490.8 R .044(xt node. Then you can mo)-.15
-F .344 -.15(ve t)-.15 H .044
+-.1 G(kg-manager)-2.5 E(.)-.55 E 0 Cg EP
+%%Page: 6 6
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF(-6-)300.17 48 Q/F1 10/Times-Bold@0 SF 2.5
+(2.7. Abstract)111 84 R(data structur)2.5 E(es and ther)-.18 E 2.5(ei)
+-.18 G(mplementations)-2.5 E F0 1.241(In lar)136 99.6 R 1.241(ger proje\
+cts, when a programmer needs a data structure that the language the)-.18
+F 3.742(ya)-.15 G(re)-3.742 E(writing in doesn')111 111.6 Q 2.5(tp)-.18
+G(ro)-2.5 E(vide, the)-.15 E 2.5(yw)-.15 G(ill need to mak)-2.5 E 2.5
+(et)-.1 G(heir o)-2.5 E(wn.)-.25 E(Bello)111 135.6 Q 2.5(wa)-.25 G
+(re a fe)-2.5 E 2.5(we)-.25 G
+(xamples of these data structures that C doesn')-2.65 E 2.5(ta)-.18 G
+(lready pro)-2.5 E(vide.)-.15 E F1 2.5(2.7.1. Link)111 159.6 R(ed lists)
+-.1 E F0 .382(this is an alternati)136 175.2 R .682 -.15(ve i)-.25 H
+.381(mplementation of a list, where you store some data, and the memory)
+.15 F .043(address to the ne)111 187.2 R .044(xt node. Then you can mo)
+-.15 F .344 -.15(ve t)-.15 H .044
(hrough the list by reading the data then reading the).15 F
-(data of the ne)111 502.8 Q(xt node, and then repeating until the 'ne)
+(data of the ne)111 199.2 Q(xt node, and then repeating until the 'ne)
-.15 E(xt' part of the node is empty)-.15 E(.)-.65 E 1.106
(In C this is easy to implement as you can \214nd a memory address v)111
-526.8 R 1.105(ery easily with '&' to \214nd)-.15 F .168
-(where a bit of data is stored. I will need to use a ')111 538.8 R .168
+223.2 R 1.105(ery easily with '&' to \214nd)-.15 F .168
+(where a bit of data is stored. I will need to use a ')111 235.2 R .168
(struct', which is a bit lik)-.55 F 2.669(eac)-.1 G .169(lass in C \(ho)
--2.669 F(we)-.25 E -.15(ve)-.25 G(r).15 E(you can')111 550.8 Q 2.5(ta)
+-2.669 F(we)-.25 E -.15(ve)-.25 G(r).15 E(you can')111 247.2 Q 2.5(ta)
-.18 G(ttach a function to it\). A simple implementation looks lik)-2.5
-E 2.5(et)-.1 G(his:)-2.5 E(typedef struct ll {)111 574.8 Q -.2(vo)136
-598.8 S(id *data; // the data of the node).2 E(ll *ne)136 622.8 Q
-(xt; // the ne)-.15 E(xt node)-.15 E 2.5(}l)111 646.8 S(l;)-2.5 E .623
-(The pro')111 670.8 R 3.123(so)-.55 G 3.123(fal)-3.123 G(ink)-3.123 E
+E 2.5(et)-.1 G(his:)-2.5 E(typedef struct ll {)111 271.2 Q -.2(vo)136
+295.2 S(id *data; // the data of the node).2 E(ll *ne)136 319.2 Q
+(xt; // the ne)-.15 E(xt node)-.15 E 2.5(}l)111 343.2 S(l;)-2.5 E .623
+(The pro')111 367.2 R 3.123(so)-.55 G 3.123(fal)-3.123 G(ink)-3.123 E
.623(ed list are the f)-.1 F .623(act that the)-.1 F 3.122(yc)-.15 G
.622(an ha)-3.122 F .922 -.15(ve d)-.2 H .622
(ata appended to the start or end easily).15 F
-(by changing the root node, or the ne)111 682.8 Q(xt node.)-.15 E(Link)
-111 706.8 Q 1.117(ed lists ha)-.1 F 1.417 -.15(ve a f)-.2 H 1.617 -.25
+(by changing the root node, or the ne)111 379.2 Q(xt node.)-.15 E(Link)
+111 403.2 Q 1.117(ed lists ha)-.1 F 1.417 -.15(ve a f)-.2 H 1.617 -.25
(ew d).15 H -.25(ow).25 G 1.117(nsides, for e).25 F 1.117
(xample you can')-.15 F 3.617(tm)-.18 G 1.417 -.15(ove t)-3.617 H 1.117
(hrough them backw).15 F 1.118(ards, and)-.1 F
-(unless you store it on its o)111 718.8 Q
+(unless you store it on its o)111 415.2 Q
(wn, you cant \214nd the length of it in a f)-.25 E(ast w)-.1 E(ay)-.1 E
-(.)-.65 E 0 Cg EP
-%%Page: 5 5
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(-5-)300.17 48 Q .476(In my project I w)111 84 R
-.476(ould lik)-.1 F 2.976(et)-.1 G 2.976(ou)-2.976 G .476(se link)-2.976
-F .475(ed list in the AST \(see later sections for info\), and to store)
--.1 F(lists in the language.)111 96 Q/F1 10/Times-Bold@0 SF 2.5
-(1.6.2. Dictionaries)111 120 R F0 2.749(Ad)136 135.6 S .249(ictionary i\
-s a simple data structure that just stores, a bit of data, and a number\
- or string)-2.749 F(to identify it.)111 147.6 Q 2.5(Ad)5 G
-(ictionary lik)-2.5 E 2.5(eal)-.1 G(ink)-2.5 E
-(ed list can be implemented with a struct in c lik)-.1 E 2.5(es)-.1 G
-(o:)-2.5 E(typedef struct dict {)111 171.6 Q -.2(vo)136 195.6 S
+(.)-.65 E .476(In my project I w)111 439.2 R .476(ould lik)-.1 F 2.976
+(et)-.1 G 2.976(ou)-2.976 G .476(se link)-2.976 F .475
+(ed list in the AST \(see later sections for info\), and to store)-.1 F
+(lists in the language.)111 451.2 Q F1 2.5(2.7.2. Dictionaries)111 475.2
+R F0 2.749(Ad)136 490.8 S .249(ictionary is a simple data structure tha\
+t just stores, a bit of data, and a number or string)-2.749 F
+(to identify it.)111 502.8 Q 2.5(Ad)5 G(ictionary lik)-2.5 E 2.5(eal)-.1
+G(ink)-2.5 E(ed list can be implemented with a struct in c lik)-.1 E 2.5
+(es)-.1 G(o:)-2.5 E(typedef struct dict {)111 526.8 Q -.2(vo)136 550.8 S
(id *data; // the data of the dict).2 E(int id; // the id of the dict)
-136 219.6 Q 2.5(}d)111 243.6 S(ict;)-2.5 E .462
-(In my project I think I could use a link)111 267.6 R .461
+136 574.8 Q 2.5(}d)111 598.8 S(ict;)-2.5 E .462
+(In my project I think I could use a link)111 622.8 R .461
(ed list represent a zipp)-.1 F 2.961(yv)-.1 G .461
(ariable and an ID that i can use)-3.211 F
-(to identify it, this could mak)111 279.6 Q 2.5(ee)-.1 G -.15(xe)-2.65 G
+(to identify it, this could mak)111 634.8 Q 2.5(ee)-.1 G -.15(xe)-2.65 G
(cution f).15 E(aster as i can compare ID')-.1 E 2.5(sr)-.55 G
-(ather than string v)-2.5 E(alues)-.25 E F1 2.5(1.7. Pr)111 315.6 R
-(ototyping hard featur)-.18 E(es)-.18 E 2.5(1.7.1. Abstract)111 339.6 R
+(ather than string v)-2.5 E(alues)-.25 E F1 2.5(2.8. Pr)111 670.8 R
+(ototyping hard featur)-.18 E(es)-.18 E 2.5(2.8.1. Abstract)111 694.8 R
(Syntax T)2.5 E -.18(re)-.74 G(es \(AST\) theory).18 E F0 .117
-(In a programming language man)136 355.2 R 2.617(ya)-.15 G .118
+(In a programming language man)136 710.4 R 2.617(ya)-.15 G .118
(bstract data types will be used to allo)-2.617 F 2.618(wt)-.25 G .118
-(he code to e)-2.618 F -.15(xe)-.15 G(-).15 E .967(cute, ho)111 367.2 R
+(he code to e)-2.618 F -.15(xe)-.15 G(-).15 E .967(cute, ho)111 722.4 R
(we)-.25 E -.15(ve)-.25 G 3.467(rI).15 G .966(think the hardest part of\
- this is an abstract syntax tree. This is a data structure)-.001 F .376
+ this is an abstract syntax tree. This is a data structure)-.001 F 0 Cg
+EP
+%%Page: 7 7
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF(-7-)300.17 48 Q .376
(that holds the code in an ordered form that can be analysed and e)111
-379.2 R -.15(xe)-.15 G .376(cuted in a simple w).15 F(ay)-.1 E 2.876(.I)
+84 R -.15(xe)-.15 G .376(cuted in a simple w).15 F(ay)-.1 E 2.876(.I)
-.65 G 2.876(ti)-2.876 G 2.876(sa)-2.876 G .084
-(tree structure, with the top node being a root and all lo)111 391.2 R
-.084(wer nodes being things needed to calculate)-.25 F .393
-(the root. It can be used not only for code b)111 403.2 R .393
+(tree structure, with the top node being a root and all lo)111 96 R .084
+(wer nodes being things needed to calculate)-.25 F .393
+(the root. It can be used not only for code b)111 108 R .393
(ut also for mathematical e)-.2 F .394(xpressions. I think the easi-)
--.15 F(est w)111 415.2 Q(ay to sho)-.1 E 2.5(wi)-.25 G 2.5(ti)-2.5 G 2.5
-(sv)-2.5 G(ia a mathematical e)-2.5 E(xample)-.15 E -.8(Ta)111 439.2 S
-.2 -.1(ke t).8 H(he follo).1 E 2.5(we)-.25 G(xpression for e)-2.65 E
-(xample:)-.15 E(\(1 + \(10 * \(3 - \(2 * 4\)\)\)\))111 463.2 Q 1.6 -.8
-(We k)111 487.2 T(no).8 E 2.5(wt)-.25 G(hat this is equal to -49)-2.5 E
-(Ho)111 511.2 Q(we)-.25 E -.15(ve)-.25 G 2.917(rf).15 G .417
+-.15 F(est w)111 120 Q(ay to sho)-.1 E 2.5(wi)-.25 G 2.5(ti)-2.5 G 2.5
+(sv)-2.5 G(ia a mathematical e)-2.5 E(xample)-.15 E -.8(Ta)111 144 S .2
+-.1(ke t).8 H(he follo).1 E 2.5(we)-.25 G(xpression for e)-2.65 E
+(xample:)-.15 E(\(1 + \(10 * \(3 - \(2 * 4\)\)\)\))111 168 Q 1.6 -.8
+(We k)111 192 T(no).8 E 2.5(wt)-.25 G(hat this is equal to -49)-2.5 E
+(Ho)111 216 Q(we)-.25 E -.15(ve)-.25 G 2.917(rf).15 G .417
(or a computer this is f)-2.917 F .416
(ar harder to understand. This is because it has no understanding)-.1 F
-(of order of operation)111 523.2 Q 1.6 -.8(To s)111 547.2 T(olv).8 E 2.5
-(et)-.15 G(his we use an AST \(abstract syntax tree\))-2.5 E .187
-(When you solv)111 571.2 R 2.687(et)-.15 G .187(hat e)-2.687 F .187
+(of order of operation)111 228 Q 1.6 -.8(To s)111 252 T(olv).8 E 2.5(et)
+-.15 G(his we use an AST \(abstract syntax tree\))-2.5 E .187
+(When you solv)111 276 R 2.687(et)-.15 G .187(hat e)-2.687 F .187
(xpression you kno)-.15 F 2.687(wt)-.25 G 2.687(os)-2.687 G .187
(tart with \(2 * 4\), then 3 - the answer to that and so)-2.687 F(on)111
-583.2 Q 1.6 -.8(We c)111 607.2 T(an represent the steps as a tree lik).8
-E 2.5(es)-.1 G(o:)-2.5 E 14 14 121 121 -121 121 245.5 752.2 PBEGIN
+288 Q 1.6 -.8(We c)111 312 T(an represent the steps as a tree lik).8 E
+2.5(es)-.1 G(o:)-2.5 E 14 14 121 121 -121 121 245.5 457 PBEGIN
%%BeginDocument: ast.ps
%!PS-Adobe-3.0
%%Creator: GIMP PostScript file plug-in V 1.17 by Peter Kirchgessner
@@ -2152,94 +2270,91 @@ showpage
end
%%EOF
%%EndDocument
-end PEND 0 Cg EP
-%%Page: 6 6
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(-6-)300.17 48 Q 1.266
-(As you can see, you need to e)136 84 R -.25(va)-.25 G 1.266
-(luate the e).25 F 1.265(xpression in the most brack)-.15 F 1.265
-(ets \214rst, then the)-.1 F(ne)111 96 Q(xt, and so on, w)-.15 E
-(orking you w)-.1 E(ay up)-.1 E -1.1(Yo)111 120 S 2.646(uc)1.1 G .146
+end PEND 1.266(As you can see, you need to e)136 484.6 R -.25(va)-.25 G
+1.266(luate the e).25 F 1.265(xpression in the most brack)-.15 F 1.265
+(ets \214rst, then the)-.1 F(ne)111 496.6 Q(xt, and so on, w)-.15 E
+(orking you w)-.1 E(ay up)-.1 E -1.1(Yo)111 520.6 S 2.646(uc)1.1 G .146
(an e)-2.646 F -.25(va)-.25 G .147(luate code in a similar w).25 F(ay)
-.1 E 2.647(,t)-.65 G .147
(reating each operation \(such as +-*/\) as functions, doing)-2.647 F
-.002(the most deeply nested function \214rst, then w)111 132 R .002
+.002(the most deeply nested function \214rst, then w)111 532.6 R .002
(orking up. Each e)-.1 F .002(xpression can be represented in this)-.15
-F(tree, then to sho)111 144 Q 2.5(waw)-.25 G
+F(tree, then to sho)111 544.6 Q 2.5(waw)-.25 G
(hole program you can create a list of trees)-2.5 E/F1 10/Times-Bold@0
-SF 2.5(1.7.2. Implementing)111 180 R(AST')2.5 E(s)-.37 E F0 .343
-(As a prototype i will mak)136 195.6 R -5.342 2.843(ea p)-.1 H .344
+SF 2.5(2.8.2. Implementing)111 580.6 R(AST')2.5 E(s)-.37 E F0 .343
+(As a prototype i will mak)136 596.2 R -5.342 2.843(ea p)-.1 H .344
(rogram that can tak)-2.843 F 2.844(em)-.1 G .344(athematical e)-2.844 F
.344(xpressions and e)-.15 F -.25(va)-.25 G(luate).25 E(them, and allo)
-111 207.6 Q(wing for functions \(in the form f\(x\)\).)-.25 E
-(It will do this via AST')5 E(s)-.55 E .718(This prototype tak)111 231.6
+111 608.2 Q(wing for functions \(in the form f\(x\)\).)-.25 E
+(It will do this via AST')5 E(s)-.55 E .718(This prototype tak)111 632.2
R .718(es 173 lines of code, it tak)-.1 F .718
(es a string as a cmd line ar)-.1 F .717(gument then con)-.18 F -.15(ve)
-.4 G .717(rts it).15 F .177
-(into an abstract syntax tree, and \214nally it e)111 243.6 R -.15(xe)
+(into an abstract syntax tree, and \214nally it e)111 644.2 R -.15(xe)
-.15 G .178(cutes it. This is just a simple prototype and thus it is).15
F 1.849(small in scope. It can only do simple operators \(+-*/\) and re\
-quires litteral v)111 255.6 R 1.849(alues to be sur)-.25 F(-)-.2 E
-(rounded by [] so it kno)111 267.6 Q(ws its not another e)-.25 E
-(xpression to e)-.15 E -.25(va)-.25 G(luate.).25 E
-(typedef struct ast_node ast_node;)111 303.6 Q(typedef enum op {)111
-339.6 Q(ADD = 0,)131 363.6 Q(SUB = 1,)131 387.6 Q(MUL = 2,)131 411.6 Q
-(DIV = 3,)131 435.6 Q 2.5(}o)111 459.6 S(p;)-2.5 E
-(typedef struct ast_node {)111 495.6 Q(op operation;)131 519.6 Q
-(int realLeft;)131 543.6 Q(int realRight;)131 567.6 Q(ast_node *right;)
-131 591.6 Q(ast_node *left;)131 615.6 Q 2.5(}a)111 639.6 S(st_node;)-2.5
-E(Abo)111 675.6 Q .335 -.15(ve i)-.15 H 2.535(st).15 G .035
+quires litteral v)111 656.2 R 1.849(alues to be sur)-.25 F(-)-.2 E
+(rounded by [] so it kno)111 668.2 Q(ws its not another e)-.25 E
+(xpression to e)-.15 E -.25(va)-.25 G(luate.).25 E(https://github)111
+692.2 Q(.com/standenbo)-.4 E
+(y/school/tree/master/comp/lucas-standen-NEA/code/proto/ast)-.1 E
+(typedef struct ast_node ast_node;)111 728.2 Q 0 Cg EP
+%%Page: 8 8
+%%BeginPageSetup
+BP
+%%EndPageSetup
+/F0 10/Times-Roman@0 SF(-8-)300.17 48 Q(typedef enum op {)111 84 Q
+(ADD = 0,)131 108 Q(SUB = 1,)131 132 Q(MUL = 2,)131 156 Q(DIV = 3,)131
+180 Q 2.5(}o)111 204 S(p;)-2.5 E(typedef struct ast_node {)111 240 Q
+(op operation;)131 264 Q(int realLeft;)131 288 Q(int realRight;)131 312
+Q(ast_node *right;)131 336 Q(ast_node *left;)131 360 Q 2.5(}a)111 384 S
+(st_node;)-2.5 E(Abo)111 420 Q .335 -.15(ve i)-.15 H 2.535(st).15 G .035
(he code for the AST)-2.535 F 2.535(,i)-.74 G 2.535(ts)-2.535 G .035
(tores an operation \(which is just an inte)-2.535 F .035
-(ger\), and it stores a real)-.15 F .676(left and real right v)111 687.6
-R .675(alue, along side tw)-.25 F 3.175(oo)-.1 G .675
+(ger\), and it stores a real)-.15 F .676(left and real right v)111 432 R
+.675(alue, along side tw)-.25 F 3.175(oo)-.1 G .675
(ther nodes. The real v)-3.175 F .675(alues are inte)-.25 F .675
(gers, this w)-.15 F .675(ould be)-.1 F .943
-(the 2 numbers in reference in the e)111 699.6 R .944
+(the 2 numbers in reference in the e)111 444 R .944
(xpression. The 2 nodes are a recursi)-.15 F 1.244 -.15(ve d)-.25 H .944
-(ata structure, much).15 F(lik)111 711.6 Q 3.489(ep)-.1 G .988(utting a\
-n object of a class inside the de\214nition of that class itself. The)
--3.489 F 3.488(ya)-.15 G .988(re used to store)-3.488 F -.25(va)111
-723.6 S .08(lues that may still be e).25 F .08(xpressions, for e)-.15 F
-.081(xample \(+ [1] \(+ [1] [1]\)\) the second part of this e)-.15 F
-(xpres-)-.15 E 0 Cg EP
-%%Page: 7 7
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(-7-)300.17 48 Q .533(sion w)111 84 R .533
-(ould be in the "right" v)-.1 F .533(airable. When code is e)-.25 F -.15
-(xe)-.15 G .533(cuted I can check if "left", or "right" are).15 F .61
-(null and if the)111 96 R 3.11(ya)-.15 G .61(re i kno)-3.11 F 3.11(wt)
--.25 G .61(hat i am at the lo)-3.11 F .61(west e)-.25 F .61
+(ata structure, much).15 F(lik)111 456 Q 3.489(ep)-.1 G .988(utting an \
+object of a class inside the de\214nition of that class itself. The)
+-3.489 F 3.488(ya)-.15 G .988(re used to store)-3.488 F -.25(va)111 468
+S .08(lues that may still be e).25 F .08(xpressions, for e)-.15 F .081
+(xample \(+ [1] \(+ [1] [1]\)\) the second part of this e)-.15 F(xpres-)
+-.15 E .533(sion w)111 480 R .533(ould be in the "right" v)-.1 F .533
+(airable. When code is e)-.25 F -.15(xe)-.15 G .533
+(cuted I can check if "left", or "right" are).15 F .61(null and if the)
+111 492 R 3.11(ya)-.15 G .61(re i kno)-3.11 F 3.11(wt)-.25 G .61
+(hat i am at the lo)-3.11 F .61(west e)-.25 F .61
(xpression that is only litteral v)-.15 F 3.11(alues. Then)-.25 F(I)3.11
-E(can e)111 108 Q -.15(xe)-.15 G(cute that node and w).15 E(ork my w)-.1
-E(ay up the tree.)-.1 E(The e)111 144 Q -.15(xe)-.15 G
-(cution code can be seen here.).15 E(int e)111 180 Q -.15(xe)-.15 G
-(c\(ast_node *e).15 E(xp\){)-.15 E(if \(e)131 204 Q(xp->left != NULL\))
--.15 E -.15(ex)151 228 S(p->realLeft = e).15 E -.15(xe)-.15 G(c\(e).15 E
-(xp->left\);)-.15 E(if \(e)131 252 Q(xp->right != NULL\))-.15 E -.15(ex)
-151 276 S(p->realRight = e).15 E -.15(xe)-.15 G(c\(e).15 E(xp->right\);)
--.15 E(if \(e)131 324 Q(xp->operation == ADD\))-.15 E(return e)151 348 Q
-(xp->realLeft+ e)-.15 E(xp->realRight;)-.15 E(if \(e)131 372 Q
-(xp->operation == SUB\))-.15 E(return e)151 396 Q(xp->realLeft - e)-.15
-E(xp->realRight;)-.15 E(if \(e)131 420 Q(xp->operation == MUL\))-.15 E
-(return e)151 444 Q(xp->realLeft * e)-.15 E(xp->realRight;)-.15 E
-(if \(e)131 468 Q(xp->operation == DIV\))-.15 E(return e)151 492 Q
-(xp->realLeft/ e)-.15 E(xp->realRight;)-.15 E(return 0;)136 516 Q(})111
-540 Q .851(The rest of the code is the process of con)111 576 R -.15(ve)
--.4 G .85(rting the string input to litteral v).15 F .85
-(alues and inserting)-.25 F(them into the AST)111 588 Q/F1 10
-/Times-Bold@0 SF 2.5(2. Design)111 636 R 2.5(3. T)111 660 R
-(echnical Solution)-.92 E 2.5(4. T)111 684 R(esting)-.92 E 2.5(5. Ev)111
-708 R(aluation)-.1 E 0 Cg EP
-%%Page: 8 8
+E(can e)111 504 Q -.15(xe)-.15 G(cute that node and w).15 E(ork my w)-.1
+E(ay up the tree.)-.1 E(The e)111 540 Q -.15(xe)-.15 G
+(cution code can be seen here.).15 E(https://github)111 564 Q
+(.com/standenbo)-.4 E
+(y/school/tree/master/comp/lucas-standen-NEA/code/proto/ast)-.1 E(int e)
+111 600 Q -.15(xe)-.15 G(c\(ast_node *e).15 E(xp\){)-.15 E(if \(e)131
+624 Q(xp->left != NULL\))-.15 E -.15(ex)151 648 S(p->realLeft = e).15 E
+-.15(xe)-.15 G(c\(e).15 E(xp->left\);)-.15 E(if \(e)131 672 Q
+(xp->right != NULL\))-.15 E -.15(ex)151 696 S(p->realRight = e).15 E
+-.15(xe)-.15 G(c\(e).15 E(xp->right\);)-.15 E 0 Cg EP
+%%Page: 9 9
%%BeginPageSetup
BP
%%EndPageSetup
-/F0 10/Times-Roman@0 SF(-8-)300.17 48 Q 0 Cg EP
+/F0 10/Times-Roman@0 SF(-9-)300.17 48 Q(if \(e)131 84 Q
+(xp->operation == ADD\))-.15 E(return e)151 108 Q(xp->realLeft+ e)-.15 E
+(xp->realRight;)-.15 E(if \(e)131 132 Q(xp->operation == SUB\))-.15 E
+(return e)151 156 Q(xp->realLeft - e)-.15 E(xp->realRight;)-.15 E
+(if \(e)131 180 Q(xp->operation == MUL\))-.15 E(return e)151 204 Q
+(xp->realLeft * e)-.15 E(xp->realRight;)-.15 E(if \(e)131 228 Q
+(xp->operation == DIV\))-.15 E(return e)151 252 Q(xp->realLeft/ e)-.15 E
+(xp->realRight;)-.15 E(return 0;)136 276 Q(})111 300 Q .851
+(The rest of the code is the process of con)111 336 R -.15(ve)-.4 G .85
+(rting the string input to litteral v).15 F .85(alues and inserting)-.25
+F(them into the AST)111 348 Q/F1 10/Times-Bold@0 SF 2.5(3. Design)111
+396 R 2.5(4. T)111 420 R(echnical Solution)-.92 E 2.5(5. T)111 444 R
+(esting)-.92 E 2.5(6. Ev)111 468 R(aluation)-.1 E 0 Cg EP
%%Trailer
end
%%EOF