summaryrefslogtreecommitdiff
path: root/comp/lucas-standen-NEA/writeup2
diff options
context:
space:
mode:
authorthing 1 <thing1@seacrossedlovers.xyz>2024-12-05 12:04:08 +0000
committerthing 1 <thing1@seacrossedlovers.xyz>2024-12-05 12:04:08 +0000
commit68baa2efd72cb150dd6138d7b208b2621bcfc431 (patch)
treefefde42e9df77384f9fa11adfa3efd3af73869d8 /comp/lucas-standen-NEA/writeup2
parent27e2e13679f57eb2bd139175216b1d5989e8dc6a (diff)
made a load of stuff
Diffstat (limited to 'comp/lucas-standen-NEA/writeup2')
-rwxr-xr-xcomp/lucas-standen-NEA/writeup2/clean.sh2
-rw-r--r--comp/lucas-standen-NEA/writeup2/examples/fib.example3
-rw-r--r--comp/lucas-standen-NEA/writeup2/examples/fib.py8
-rwxr-xr-xcomp/lucas-standen-NEA/writeup2/examples/fib_examplebin0 -> 21280 bytes
-rw-r--r--comp/lucas-standen-NEA/writeup2/examples/fib_example.zpy13
-rw-r--r--comp/lucas-standen-NEA/writeup2/examples/spaceinvaders.pngbin0 -> 21285 bytes
-rw-r--r--comp/lucas-standen-NEA/writeup2/examples/spaceinvaders.zpy164
-rwxr-xr-xcomp/lucas-standen-NEA/writeup2/examples/str_examplebin0 -> 17152 bytes
-rw-r--r--comp/lucas-standen-NEA/writeup2/examples/str_example.zpy17
-rw-r--r--comp/lucas-standen-NEA/writeup2/examples/string.example3
-rw-r--r--comp/lucas-standen-NEA/writeup2/examples/zpypkg.example6
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.aux166
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.fdb_latexmk69
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.fls125
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.log1002
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.out44
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.synctex.gzbin0 -> 1057156 bytes
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.tex386
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.toc120
19 files changed, 1460 insertions, 668 deletions
diff --git a/comp/lucas-standen-NEA/writeup2/clean.sh b/comp/lucas-standen-NEA/writeup2/clean.sh
index 3374e71..f4d65f4 100755
--- a/comp/lucas-standen-NEA/writeup2/clean.sh
+++ b/comp/lucas-standen-NEA/writeup2/clean.sh
@@ -1,4 +1,4 @@
#!/bin/bash
shopt -s extglob
-rm -rf !(*.tex|*.sh|ref.bib)
+rm -rf !(*.tex|*.sh|ref.bib|examples)
diff --git a/comp/lucas-standen-NEA/writeup2/examples/fib.example b/comp/lucas-standen-NEA/writeup2/examples/fib.example
new file mode 100644
index 0000000..f013b0b
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/examples/fib.example
@@ -0,0 +1,3 @@
+give me a number (bellow 30 if you want it to be quick): 10
+55
+
diff --git a/comp/lucas-standen-NEA/writeup2/examples/fib.py b/comp/lucas-standen-NEA/writeup2/examples/fib.py
new file mode 100644
index 0000000..f6823af
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/examples/fib.py
@@ -0,0 +1,8 @@
+def fib(n):
+ if (n < 2):
+ return n
+
+ return fib(n-1) + fib(n-2)
+
+val = 30
+print(fib(val))
diff --git a/comp/lucas-standen-NEA/writeup2/examples/fib_example b/comp/lucas-standen-NEA/writeup2/examples/fib_example
new file mode 100755
index 0000000..130332f
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/examples/fib_example
Binary files differ
diff --git a/comp/lucas-standen-NEA/writeup2/examples/fib_example.zpy b/comp/lucas-standen-NEA/writeup2/examples/fib_example.zpy
new file mode 100644
index 0000000..2c66618
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/examples/fib_example.zpy
@@ -0,0 +1,13 @@
+(defun fib int n:int)
+ (if (< n 2))
+ (return n)
+ (endif)
+
+ (return (+ (fib (- n 1)) (fib (- n 2))))
+(endfun)
+
+(defun main int)
+ (let n:int 30)
+ (printint (fib n))
+ (printchar '\n')
+(endfun)
diff --git a/comp/lucas-standen-NEA/writeup2/examples/spaceinvaders.png b/comp/lucas-standen-NEA/writeup2/examples/spaceinvaders.png
new file mode 100644
index 0000000..c1889f7
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/examples/spaceinvaders.png
Binary files differ
diff --git a/comp/lucas-standen-NEA/writeup2/examples/spaceinvaders.zpy b/comp/lucas-standen-NEA/writeup2/examples/spaceinvaders.zpy
new file mode 100644
index 0000000..33036e0
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/examples/spaceinvaders.zpy
@@ -0,0 +1,164 @@
+(struct entity)
+ (def x:int)
+ (def y:int)
+ (def width:int)
+ (def height:int)
+ (def ofx:int)
+ (def ofy:int)
+ (def exists:bool)
+(endstruct)
+
+//# this checks if 2 entitys are touching
+(defun touching bool a:entity* b:entity*)
+ (def r1:Rectangle)
+ (def r2:Rectangle)
+
+ (set r1.x a->x)
+ (set r1.y a->y)
+ (set r1.width a->width)
+ (set r1.height a->height)
+
+ (set r2.x b->x)
+ (set r2.y b->y)
+ (set r2.width b->width)
+ (set r2.height b->height)
+ (return (CheckCollisionRecs r1 r2))
+(endfun)
+
+//# the main loop of the program
+(defun main int)
+ (InitWindow 800 800 "test test")
+ (SetTargetFPS 60)
+
+ (let p:entity* (alloc (sizeof entity)))
+ (set p->x 400)
+ (set p->y 700)
+ (set p->width 50)
+ (set p->height 30)
+ (set p->ofx 25)
+ (set p->ofy 15)
+
+ (let b:entity* (alloc (sizeof entity)))
+ (set b->x 400)
+ (set b->y 700)
+ (set b->width 10)
+ (set b->height 6)
+ (set b->ofx 5)
+ (set b->ofy 3)
+ (set b->exists false)
+
+ (let b2:entity* (alloc (sizeof entity)))
+ (set b2->x 400)
+ (set b2->y 700)
+ (set b2->width 10)
+ (set b2->height 6)
+ (set b2->ofx 5)
+ (set b2->ofy 3)
+ (set b2->exists false)
+
+ (let e:entity* (alloc (sizeof entity)))
+ (set e->x 400)
+ (set e->y 100)
+ (set e->width 60)
+ (set e->height 30)
+ (set e->ofx 30)
+ (set e->ofy 15)
+ (set e->exists true)
+
+ (let ehp:int 5)
+ (let edx:int 1)
+
+ (let reload:int 0)
+
+ (for i:int 0 (= (WindowShouldClose) 0) 0)
+ (if (= ehp 0))
+ (exit 0)
+ (elif (= e->y 700))
+ (exit 1)
+ (endif)
+
+ (if (!= reload 0)
+ (set reload (- reload 1))
+ (endif)
+
+ (BeginDrawing)
+ (ClearBackground BLACK)
+ (DrawRectangle (- p->x p->ofx) (+ p->y p->ofy) p->width p->height GREEN)
+ (if (= b->exists true))
+ (DrawRectangle (- b->x b->ofx) (+ b->y b->ofy) b->width b->height BLUE)
+ (endif)
+ (if (= b2->exists true))
+ (DrawRectangle (- b2->x b2->ofx) (+ b2->y b2->ofy) b2->width b2->height PURPLE)
+ (endif)
+ (if (= e->exists true))
+ (DrawRectangle (- e->x e->ofx) (+ e->y e->ofy) e->width e->height RED)
+ (endif)
+ (EndDrawing)
+
+ (if (IsKeyDown KEY_LEFT))
+ (set p->x (- p->x 6))
+ (elif (IsKeyDown KEY_RIGHT))
+ (set p->x (+ p->x 6))
+ (endif)
+
+ (if (IsKeyPressed KEY_SPACE))
+ (if (= reload 0))
+ (if (!= b->exists true))
+ (set b->exists true)
+ (else)
+ (set b2->exists true)
+ (endif)
+ (set reload 30)
+ (endif)
+ (endif)
+
+ (if (= b->exists true))
+ (set b->y (- b->y 10))
+ (if (< b->y 0))
+ (set b->y 700)
+ (set b->exists false)
+ (endif)
+ (else)
+ (set b->x p->x)
+ (endif)
+
+ (if (touching b e))
+ (set b->y 700)
+ (set b->exists false)
+ (set ehp (- ehp 1)
+ (if (<= ehp 0))
+ (set e->exists false)
+ (endif)
+ (endif)
+
+ (if (= b2->exists true))
+ (set b2->y (- b2->y 10))
+ (if (< b2->y 0))
+ (set b2->y 700)
+ (set b2->exists false)
+ (endif)
+ (else)
+ (set b2->x p->x)
+ (endif)
+
+ (if (touching b2 e))
+ (set b2->y 700)
+ (set b2->exists false)
+ (set ehp (- ehp 1)
+ (if (<= ehp 0))
+ (set e->exists false)
+ (endif)
+ (endif)
+
+ (set e->x (+ (* 4 edx) e->x)
+ (if (= e->x 800))
+ (set edx (* edx -1)
+ (set e->y (+ e->y 10))
+ (elif (= e->x 0))
+ (set edx (* edx -1)
+ (set e->y (+ e->y 10))
+ (endif)
+
+ (endfor)
+ (CloseWindow)
+(endfun)
diff --git a/comp/lucas-standen-NEA/writeup2/examples/str_example b/comp/lucas-standen-NEA/writeup2/examples/str_example
new file mode 100755
index 0000000..caddcd1
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/examples/str_example
Binary files differ
diff --git a/comp/lucas-standen-NEA/writeup2/examples/str_example.zpy b/comp/lucas-standen-NEA/writeup2/examples/str_example.zpy
new file mode 100644
index 0000000..9d2abd1
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/examples/str_example.zpy
@@ -0,0 +1,17 @@
+(defun main int)
+ (let str:string* (String "hello_world"))
+ (printstr str->_str)
+ (printchar '\n')
+
+ (let strs:string** (str->split str '_'))
+
+ (printstr strs[0]->_str)
+ (printchar '\n')
+ (printstr strs[1]->_str)
+ (printchar '\n')
+
+ (strs[0]->free strs[0])
+ (strs[1]->free strs[1])
+ (free strs)
+ (str->free str)
+(endfun)
diff --git a/comp/lucas-standen-NEA/writeup2/examples/string.example b/comp/lucas-standen-NEA/writeup2/examples/string.example
new file mode 100644
index 0000000..51ae335
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/examples/string.example
@@ -0,0 +1,3 @@
+hello_world
+hello
+world
diff --git a/comp/lucas-standen-NEA/writeup2/examples/zpypkg.example b/comp/lucas-standen-NEA/writeup2/examples/zpypkg.example
new file mode 100644
index 0000000..b4208b3
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/examples/zpypkg.example
@@ -0,0 +1,6 @@
+zpypkg init # makes a new zpypkg project
+zpypkg build # make a binary of a project
+zpypkg run # make a binary and run it
+zpypkg clean # remove all binaries
+zpypkg remove # remove zpypkg from the project
+
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.aux b/comp/lucas-standen-NEA/writeup2/writeup.aux
index 9cded71..44175f4 100644
--- a/comp/lucas-standen-NEA/writeup2/writeup.aux
+++ b/comp/lucas-standen-NEA/writeup2/writeup.aux
@@ -4,61 +4,113 @@
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
+\providecommand \oddpage@label [2]{}
\babel@aux{english}{}
-\@writefile{toc}{\contentsline {section}{\numberline {1}A breif head note and introduction}{3}{section.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {2}Analysis}{3}{section.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}The current problem}{3}{subsection.2.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}A solution}{3}{subsection.2.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}What is a programming language}{4}{subsection.2.3}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}A very simple explanation}{4}{subsubsection.2.3.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}Why are there so many}{4}{subsubsection.2.3.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Researching and getting a scope of the project}{4}{subsection.2.4}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.1}Examples of older similar projects}{4}{subsubsection.2.4.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.2}Examples of newer similar projects}{5}{subsubsection.2.4.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.3}What should be taken away from these languages}{5}{subsubsection.2.4.3}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}Clients}{6}{subsection.2.5}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.1}Client 1: Amy C}{6}{subsubsection.2.5.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.2}Client 2: Rayn M}{6}{subsubsection.2.5.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.3}Client 3: Myself}{6}{subsubsection.2.5.3}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.6}Questionnaires}{6}{subsection.2.6}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.6.1}Amy C, initial ideas}{6}{subsubsection.2.6.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.6.2}Notes from questionnare 1}{7}{subsubsection.2.6.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {2.7}The first elements of the project}{7}{subsection.2.7}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {3}Modelling}{8}{section.3}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Linked lists}{8}{subsection.3.1}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Linked list example}{8}{lstlisting.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Dictionaries}{9}{subsection.3.2}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}Dictionary example}{9}{lstlisting.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Prototyping harder features}{9}{subsection.3.3}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Abstract syntax trees (AST's) theory}{9}{subsubsection.3.3.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.2}Abstract syntax trees (AST's) practical}{10}{subsubsection.3.3.2}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code/proto/AST/ast.c}{10}{lstlisting.-1}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code/proto/AST/astg.c}{13}{lstlisting.-2}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code/proto/AST/astg.h}{14}{lstlisting.-3}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Feedback}{15}{subsection.3.4}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Mixing linked lists and AST's}{15}{subsection.3.5}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {4}Objectives}{15}{section.4}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Core objectives}{15}{subsection.4.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Extra objectives}{16}{subsection.4.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {5}Design}{16}{section.5}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Language specification}{16}{subsection.5.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Keywords}{16}{subsection.5.2}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Other code elements}{17}{subsection.5.3}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Memory management}{18}{subsection.5.4}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.5}The steps in compiling a zippy program}{18}{subsection.5.5}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.1}Converting zippy to C}{18}{subsubsection.5.5.1}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.6}Actually using zippy}{18}{subsection.5.6}\protected@file@percent }
-\@writefile{toc}{\contentsline {section}{\numberline {6}Implementation}{19}{section.6}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code2/zpy.c}{19}{lstlisting.-4}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code2/fileread.c}{21}{lstlisting.-5}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code2/tokenizer.c}{22}{lstlisting.-6}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code2/appendsnprintf.c}{23}{lstlisting.-7}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code2/comp.c}{24}{lstlisting.-8}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code2/util.c}{31}{lstlisting.-9}\protected@file@percent }
-\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Header files}{32}{subsection.6.1}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code2/fileread.h}{32}{lstlisting.-10}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code2/tokenizer.h}{32}{lstlisting.-11}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code2/comp.h}{32}{lstlisting.-12}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code2/appendsnprintf.h}{32}{lstlisting.-13}\protected@file@percent }
-\@writefile{lol}{\contentsline {lstlisting}{../code2/util.h}{32}{lstlisting.-14}\protected@file@percent }
-\gdef \@abspage@last{32}
+\@writefile{toc}{\contentsline {section}{\numberline {1}A breif head note and introduction}{4}{section.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {2}Analysis}{4}{section.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}The current problem}{4}{subsection.2.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}A solution}{4}{subsection.2.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}What is a programming language}{5}{subsection.2.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}A very simple explanation}{5}{subsubsection.2.3.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}Why are there so many}{5}{subsubsection.2.3.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.4}Researching and getting a scope of the project}{5}{subsection.2.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.1}Examples of older similar projects}{5}{subsubsection.2.4.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.2}Examples of newer similar projects}{6}{subsubsection.2.4.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.4.3}What should be taken away from these languages}{6}{subsubsection.2.4.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.5}Clients}{7}{subsection.2.5}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.1}Client 1: Amy C}{7}{subsubsection.2.5.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.2}Client 2: Rayn M}{7}{subsubsection.2.5.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.5.3}Client 3: Myself}{7}{subsubsection.2.5.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.6}Questionnaires}{7}{subsection.2.6}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.6.1}Amy C, initial ideas}{7}{subsubsection.2.6.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.6.2}Notes from questionnare 1}{8}{subsubsection.2.6.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {2.7}The first elements of the project}{8}{subsection.2.7}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {3}Modelling}{9}{section.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.1}Linked lists}{9}{subsection.3.1}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Linked list example}{9}{lstlisting.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.2}Dictionaries}{10}{subsection.3.2}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}Dictionary example}{10}{lstlisting.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.3}Prototyping harder features}{10}{subsection.3.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.1}Abstract syntax trees (AST's) theory}{10}{subsubsection.3.3.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.3.2}Abstract syntax trees (AST's) practical}{11}{subsubsection.3.3.2}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code/proto/AST/ast.c}{11}{lstlisting.-1}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code/proto/AST/astg.c}{14}{lstlisting.-2}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code/proto/AST/astg.h}{15}{lstlisting.-3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.4}Feedback}{16}{subsection.3.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {3.5}Mixing linked lists and AST's}{16}{subsection.3.5}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {4}Objectives}{16}{section.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Core objectives}{16}{subsection.4.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Extra objectives}{17}{subsection.4.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {5}Design}{17}{section.5}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Language specification}{17}{subsection.5.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Keywords}{17}{subsection.5.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Other code elements}{18}{subsection.5.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Memory management}{19}{subsection.5.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.5}The steps in compiling a zippy program}{19}{subsection.5.5}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.5.1}Converting zippy to C}{19}{subsubsection.5.5.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.6}Actually using zippy}{19}{subsection.5.6}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.7}Modelling the compilation process}{21}{subsection.5.7}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.8}Modelling data structures I will use}{22}{subsection.5.8}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.8.1}AstNode}{22}{subsubsection.5.8.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {5.8.2}Array list}{22}{subsubsection.5.8.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.9}Why so few?}{22}{subsection.5.9}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {6}Implementation}{23}{section.6}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/zpy.c}{23}{lstlisting.-4}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/fileread.c}{24}{lstlisting.-5}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/tokenizer.c}{25}{lstlisting.-6}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/appendsnprintf.c}{27}{lstlisting.-7}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/comp.c}{28}{lstlisting.-8}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/util.c}{35}{lstlisting.-9}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Header files}{35}{subsection.6.1}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/fileread.h}{35}{lstlisting.-10}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/tokenizer.h}{36}{lstlisting.-11}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/comp.h}{36}{lstlisting.-12}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/appendsnprintf.h}{36}{lstlisting.-13}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/util.h}{36}{lstlisting.-14}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}The C linking process}{36}{subsection.6.2}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/Makefile}{36}{lstlisting.-15}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}Zpypkg}{37}{subsection.6.3}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/zpypkg/zpypkg.sh}{37}{lstlisting.-16}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.4}Zpylib}{39}{subsection.6.4}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/stdlib/zpylib.c}{39}{lstlisting.-17}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/stdlib/String/String.c}{40}{lstlisting.-18}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {6.5}Other libraries}{42}{subsection.6.5}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {7}Testing}{43}{section.7}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.1}Introduction}{43}{subsection.7.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.2}Fibonacci}{43}{subsection.7.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.1}Code}{43}{subsubsection.7.2.1}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{../code2/examples/fib\textunderscore example.zpy}{43}{lstlisting.-19}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.2}Demo}{44}{subsubsection.7.2.2}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{./examples/fib.example}{44}{lstlisting.-20}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{./examples/fib.py}{44}{lstlisting.-21}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.2.3}Performance}{44}{subsubsection.7.2.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.3}String splitting}{45}{subsection.7.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.3.1}Code}{45}{subsubsection.7.3.1}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{./examples/str\textunderscore example.zpy}{45}{lstlisting.-22}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.3.2}Output}{45}{subsubsection.7.3.2}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{./examples/string.example}{45}{lstlisting.-23}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.3.3}Explaining}{45}{subsubsection.7.3.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.4}zpypkg example}{46}{subsection.7.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.4.1}Using zpypkg}{46}{subsubsection.7.4.1}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{./examples/zpypkg.example}{46}{lstlisting.-24}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {7.5}Space invaders}{46}{subsection.7.5}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.5.1}Background}{46}{subsubsection.7.5.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.5.2}Code}{46}{subsubsection.7.5.2}\protected@file@percent }
+\@writefile{lol}{\contentsline {lstlisting}{./examples/spaceinvaders.zpy}{46}{lstlisting.-25}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {7.5.3}Seeing it go}{49}{subsubsection.7.5.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {section}{\numberline {8}Evaluation}{50}{section.8}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.1}Core objectives}{50}{subsection.8.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.2}Extra objectives}{51}{subsection.8.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.3}Comparing the goals to the product}{51}{subsection.8.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.3.1}A compiler for the Zippy language}{51}{subsubsection.8.3.1}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.3.2}AST's used to compile source code}{51}{subsubsection.8.3.2}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.3.3}A lisp like syntax}{51}{subsubsection.8.3.3}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.3.4}Functional paradigm language}{51}{subsubsection.8.3.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.3.5}Recursion}{52}{subsubsection.8.3.5}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.3.6}Higher order functions}{52}{subsubsection.8.3.6}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.3.7}A high performance language}{52}{subsubsection.8.3.7}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.3.8}A package manager}{52}{subsubsection.8.3.8}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsubsection}{\numberline {8.3.9}Ability to call C functions}{52}{subsubsection.8.3.9}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.4}Thoughts on the core objectives}{53}{subsection.8.4}\protected@file@percent }
+\@writefile{toc}{\contentsline {subsection}{\numberline {8.5}Extra objectives}{53}{subsection.8.5}\protected@file@percent }
+\gdef \@abspage@last{53}
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.fdb_latexmk b/comp/lucas-standen-NEA/writeup2/writeup.fdb_latexmk
index fd23191..075b574 100644
--- a/comp/lucas-standen-NEA/writeup2/writeup.fdb_latexmk
+++ b/comp/lucas-standen-NEA/writeup2/writeup.fdb_latexmk
@@ -1,17 +1,28 @@
# Fdb version 4
-["pdflatex"] 1731580656.34274 "writeup.tex" "writeup.pdf" "writeup" 1731580659.52944 2
+["pdflatex"] 1733392745.64597 "writeup.tex" "writeup.pdf" "writeup" 1733392750.61803 0
"../code/proto/AST/ast.c" 1730658500.71123 2961 c47f93a2515bbdc975ff63648a7cdd5e ""
"../code/proto/AST/astg.c" 1730658500.71123 952 02073ee7971b5c86c469ca9979e7558e ""
"../code/proto/AST/astg.h" 1730658500.71123 275 d81b6b122dc745e84025255cf68ff265 ""
+ "../code2/Makefile" 1732272363.93277 469 641fe8b0fc0b3494032be342ad03e95f ""
"../code2/appendsnprintf.c" 1730658500.71456 868 029fe239ee4d30b36882e0f5a913794f ""
- "../code2/comp.c" 1730726039.63775 11195 cf8ef6ed4f8af180442e49887cdd19eb ""
- "../code2/fileread.c" 1730724872.70121 862 dc4f9a5ae152b963b435fab6fb1dcaed ""
- "../code2/tokenizer.c" 1730658500.7379 1798 25cc626f9fb36424dcb2d83d8eb9953a ""
+ "../code2/appendsnprintf.h" 1730658500.71456 62 26b67f8eeeb449471d4234742f7667d5 ""
+ "../code2/comp.c" 1732271781.48278 11251 3db210192ccd801de52d062fd53d357b ""
+ "../code2/comp.h" 1730658500.71456 140 9f9437e2d937abeb9d9e0c5aadb0291e ""
+ "../code2/examples/fib_example.zpy" 1730980737.26722 270 7da702a1f39655a4ed4a41bae75d392e ""
+ "../code2/fileread.c" 1732271694.48945 869 133679424fec00b6cb47e45f990c48d1 ""
+ "../code2/fileread.h" 1730724882.23783 190 527efab26a2b1fc854606bb0a38a4259 ""
+ "../code2/stdlib/String/String.c" 1731327348.2009 3103 95446c4abf2c9c0b0dc904ca4a5038e4 ""
+ "../code2/stdlib/zpylib.c" 1731327309.14444 618 9e754b89db5c977fb8a872b538e080d5 ""
+ "../code2/tokenizer.c" 1732271713.86945 1805 2691d453b3d0ab623a1a47e3d89f782c ""
+ "../code2/tokenizer.h" 1730658500.7379 127 5c54513a95559f6b5dadbd3a0467df13 ""
"../code2/util.c" 1730658500.7379 185 9bc6679a71ee8b330e117822d433f881 ""
- "../code2/zpy.c" 1730724922.45428 2180 aa88ddb9009151e1a3330651bbebe5db ""
+ "../code2/util.h" 1730658500.7379 21 df1768355af63d3b27da6168684c0b6b ""
+ "../code2/zpy.c" 1733390828.70787 2187 caa341eb6a2502ece2bb85230cb854fd ""
+ "../code2/zpypkg/zpypkg.sh" 1730726101.72741 1295 61bc4a3b28aceeadadc8cfee0a32f868 ""
"/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc" 1731436073 2900 1537cc8184ad1792082cd229ecc269f4 ""
"/usr/share/texmf-dist/fonts/map/fontname/texfonts.map" 1731436073 3524 cb3e574dea2d1052e39280babc910dc8 ""
"/usr/share/texmf-dist/fonts/tfm/jknappen/ec/tcrm1200.tfm" 1731436073 1536 74b7293ec3713bb7fdca8dd1bd1f469c ""
+ "/usr/share/texmf-dist/fonts/tfm/jknappen/ec/tctt1000.tfm" 1731436073 1536 c5729d01ab121276cf99b309129349a0 ""
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm" 1731436073 1324 c910af8c371558dc20f2d7822f66fe64 ""
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmbxti10.tfm" 1731436073 1532 9162035f4e7176612125649e348e2195 ""
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1731436073 1524 4414a8315f39513458b80dfc63bff03a ""
@@ -22,12 +33,31 @@
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmr17.tfm" 1731436073 1292 296a67155bdbfc32aa9c636f21e91433 ""
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmr6.tfm" 1731436073 1300 b62933e007d01cfd073f79b963c01526 ""
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmr8.tfm" 1731436073 1292 21c1c5bfeaebccffdb478fd231a0997d ""
+ "/usr/share/texmf-dist/fonts/tfm/public/cm/cmss12.tfm" 1731436073 1324 37b971caf729d7edd9cbb9f9b0ea76eb ""
+ "/usr/share/texmf-dist/fonts/tfm/public/cm/cmssi12.tfm" 1731436073 1532 48589e216c7fb787d0f3ee1a3047705d ""
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm" 1731436073 1124 6c73e740cf17375f03eec0ee63599741 ""
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm" 1731436073 1116 933a60c408fc0a863a92debe84b2d294 ""
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm" 1731436073 1120 8b7d695260f3cff42e636090a8002094 ""
+ "/usr/share/texmf-dist/fonts/tfm/public/cm/cmti10.tfm" 1731436073 1480 aa8e34af0eb6a2941b776984cf1dfdc4 ""
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmti12.tfm" 1731436073 1484 ed72f8f5cf654cda15ecc8e32bfcbee5 ""
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmtt10.tfm" 1731436073 768 1321e9409b4137d6fb428ac9dc956269 ""
"/usr/share/texmf-dist/fonts/tfm/public/cm/cmtt12.tfm" 1731436073 772 9a936b7f5e2ff0557fce0f62822f0bbf ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb" 1731436073 32080 340ef9bf63678554ee606688e7b5339d ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbxti10.pfb" 1731436073 36554 b67dc2cfa451409e100b3fcf5f506509 ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb" 1731436073 36741 fa121aac0049305630cf160b86157ee4 ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb" 1731436073 35752 024fb6c41858982481f6968b5fc26508 ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb" 1731436073 32722 d7379af29a190c3f453aba36302ff5a9 ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb" 1731436073 32362 179c33bbf43f19adbb3825bb4e36e57a ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb" 1731436073 32734 69e00a6b65cedb993666e42eedb3d48f ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmss12.pfb" 1731436073 24393 3b7eb51a67a0a62aec5849271bdb9c2e ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmssi12.pfb" 1731436073 25095 0ff1f6d531b320ecbbd6ea84d875816c ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1731436073 32569 5e5ddc8df908dea60932f3c484a54c0d ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb" 1731436073 37944 359e864bd06cde3b1cf57bb20757fb06 ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti12.pfb" 1731436073 36118 fad905eba93cff5bce1e185fe980a177 ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb" 1731436073 31099 c85edf1dd5b9e826d67c9c7293b6786c ""
+ "/usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt12.pfb" 1731436073 24252 1e4e051947e12dfb50fee0b7f4e26e3a ""
+ "/usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb" 1731436073 136101 f533469f523533d38317ab5729d00c8a ""
+ "/usr/share/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb" 1731436073 169201 9ebf99020dde51a5086e186761a34e8f ""
"/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1731436073 71627 94eb9990bed73c364d7f53f960cc8c5b ""
"/usr/share/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1731436073 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 ""
"/usr/share/texmf-dist/tex/generic/babel-english/english.ldf" 1731436073 7008 9ff5fdcc865b01beca2b0fe4a46231d4 ""
@@ -116,12 +146,22 @@
"/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex" 1731436073 29239 22e8c7516012992a49873eff0d868fed ""
"/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def" 1731436073 6950 8524a062d82b7afdc4a88a57cb377784 ""
"/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty" 1731436073 7008 f92eaa0a3872ed622bbf538217cd2ab7 ""
+ "/usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex" 1731436073 19231 27205ee17aaa2902aea3e0c07a3cfc65 ""
+ "/usr/share/texmf-dist/tex/generic/xkeyval/xkvutils.tex" 1731436073 7677 9cb1a74d945bc9331f2181c0a59ff34a ""
+ "/usr/share/texmf-dist/tex/latex/adjustbox/adjcalc.sty" 1731436073 5598 c49b91713cbe5e50a1fabefb733eda0d ""
+ "/usr/share/texmf-dist/tex/latex/adjustbox/adjustbox.sty" 1731436073 56907 e3e515e490dbc35309a010b5bbe1bef5 ""
+ "/usr/share/texmf-dist/tex/latex/adjustbox/tc-pdftex.def" 1731436073 4070 1677cfee6374067b93f61cf57ecd7144 ""
+ "/usr/share/texmf-dist/tex/latex/adjustbox/trimclip.sty" 1731436073 7244 36558f478da08e083d7316a63ba4bcd6 ""
"/usr/share/texmf-dist/tex/latex/atveryend/atveryend.sty" 1731436073 19336 ce7ae9438967282886b3b036cfad1e4d ""
"/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty" 1731436073 3935 57aa3c3e203a5c2effb4d2bd2efbc323 ""
"/usr/share/texmf-dist/tex/latex/base/article.cls" 1731436073 20144 147463a6a579f4597269ef9565205cfe ""
"/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty" 1731436073 3045 273c666a54e60b9f730964f431a56c1b ""
"/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty" 1731436073 2462 6bc53756156dbd71c1ad550d30a3b93f ""
+ "/usr/share/texmf-dist/tex/latex/base/ifthen.sty" 1731436073 5319 2b738d02ce36ada6dcdd9534940db0ee ""
"/usr/share/texmf-dist/tex/latex/base/size12.clo" 1731436073 8449 f07039d8e4e89f21078d9b5137579bfc ""
+ "/usr/share/texmf-dist/tex/latex/base/ts1cmtt.fd" 1731436073 2287 003e26f17fb2011982a0904ffee9cab0 ""
+ "/usr/share/texmf-dist/tex/latex/bchart/bchart.sty" 1731436073 5327 84fd60f11ec0f8ecbcd68153f107acbf ""
+ "/usr/share/texmf-dist/tex/latex/collectbox/collectbox.sty" 1731436073 9124 59c3b56f1a073de66e3eea35f9c173c8 ""
"/usr/share/texmf-dist/tex/latex/elocalloc/elocalloc.sty" 1731436073 1428 7d469063535b93044f827bfdb1b0a130 ""
"/usr/share/texmf-dist/tex/latex/environ/environ.sty" 1731436073 4378 f429f0da968c278653359293040a8f52 ""
"/usr/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty" 1731436073 13886 d1306dcf79a944f6988e688c1785f9ce ""
@@ -142,6 +182,7 @@
"/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty" 1731436073 11026 182c63f139a71afd30a28e5f1ed2cd1c ""
"/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def" 1731436073 14249 e67cb186717b7ab18d14a4875e7e98b5 ""
"/usr/share/texmf-dist/tex/latex/hyperref/puenc.def" 1731436073 117112 05831178ece2cad4d9629dcf65099b11 ""
+ "/usr/share/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty" 1731436073 2142 eae42205b97b7a3ad0e58db5fe99e3e6 ""
"/usr/share/texmf-dist/tex/latex/inlinedef/inlinedef.sty" 1731436073 10102 e5ccd67aecac6cb4bf5de2b491ef79b5 ""
"/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty" 1731436073 22555 6d8e155cfef6d82c3d5c742fea7c992e ""
"/usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty" 1731436073 13815 760b0c02f691ea230f5359c4e1de23a7 ""
@@ -152,6 +193,7 @@
"/usr/share/texmf-dist/tex/latex/listings/listings.cfg" 1731436073 1830 20af84c556326f7c12b9202ebe363f56 ""
"/usr/share/texmf-dist/tex/latex/listings/listings.sty" 1731436073 81322 d02238bdeb305f2c9f9d0229f99371d0 ""
"/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty" 1731436073 205167 fca232873050cd2da4f9c0c32402c38a ""
+ "/usr/share/texmf-dist/tex/latex/listings/lstlang2.sty" 1731436073 93888 276ea2c46a9802155d8e1165b7aaad8e ""
"/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty" 1731436073 77022 5c8c440739265e7ba15b8379ece6ecd7 ""
"/usr/share/texmf-dist/tex/latex/listings/lstpatch.sty" 1731436073 329 f19f5da7234b51d16764e23d20999c73 ""
"/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty" 1731436073 1090 bae35ef70b3168089ef166db3e66f5b2 ""
@@ -177,14 +219,23 @@
"/usr/share/texmf-dist/tex/latex/titling/titling.sty" 1731436073 7358 95ac619994bd30d405a74f3eca431c84 ""
"/usr/share/texmf-dist/tex/latex/trimspaces/trimspaces.sty" 1731436073 1380 971a51b00a14503ddf754cab24c3f209 ""
"/usr/share/texmf-dist/tex/latex/url/url.sty" 1731436073 12796 8edb7d69a20b857904dd0ea757c14ec9 ""
+ "/usr/share/texmf-dist/tex/latex/varwidth/varwidth.sty" 1731436073 10894 d359a13923460b2a73d4312d613554c8 ""
"/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty" 1731436073 55487 80a65caedd3722f4c20a14a69e785d8f ""
+ "/usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty" 1731436073 4937 4ce600ce9bd4ec84d0250eb6892fcf4f ""
"/usr/share/texmf-dist/web2c/texmf.cnf" 1731436073 41588 b43d3e860a4f94167ee1e725ff526a72 ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1731575188.12666 5312047 b07fcd2a9090df96fc745b92a3db793b ""
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1731575086 7113016 d5287dfb1ef2f8cf8da3171762d299de ""
- "writeup.aux" 1731580659.34957 6539 d52c0fb96486e73cf478fa9488bcd42f "pdflatex"
- "writeup.out" 1731580659.34957 6742 46d59c96dcc63599096d6d4a7a3cdc09 "pdflatex"
- "writeup.tex" 1731580654.46626 33702 ec19acc02b6626f8ad5260881fd5cccf ""
- "writeup.toc" 1731580657.74624 0 d41d8cd98f00b204e9800998ecf8427e "pdflatex"
+ "examples/fib.example" 1732636562.23043 64 a37b870a30374e47a8725da13daa9eeb ""
+ "examples/fib.py" 1732789954.8107 103 c9b8c952f57e5136233601e743d52204 ""
+ "examples/spaceinvaders.png" 1733139749.31413 21285 6c0b61596d7b4609dfc8bb6f9d444b16 ""
+ "examples/spaceinvaders.zpy" 1733138940.53603 3137 d1b2484c67281887ed110b1ebf5cfc20 ""
+ "examples/str_example.zpy" 1733137042.58687 321 28a8bd30962168aa3c13ef7363734e9e ""
+ "examples/string.example" 1733137717.96654 24 3a27ec95ace801a046c0f2f8574c3d49 ""
+ "examples/zpypkg.example" 1733138332.24321 205 aec7b7e84b5f80820e5154cb02aea73e ""
+ "writeup.aux" 1733392750.33103 13718 e77fd4ceece83bc9cb209c122121478a "pdflatex"
+ "writeup.out" 1733392750.33436 12692 0efeaf2fce48510c0ee209be8ef9ec76 "pdflatex"
+ "writeup.tex" 1733392743.07421 52832 9ce22722420ea92b9bbabdd73e9db594 ""
+ "writeup.toc" 1733392750.33436 7102 a896a107a97565e8ab5e54bc9277a7cb "pdflatex"
(generated)
"writeup.aux"
"writeup.log"
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.fls b/comp/lucas-standen-NEA/writeup2/writeup.fls
index 348d4fe..779bfd0 100644
--- a/comp/lucas-standen-NEA/writeup2/writeup.fls
+++ b/comp/lucas-standen-NEA/writeup2/writeup.fls
@@ -118,6 +118,27 @@ INPUT /usr/share/texmf-dist/tex/latex/graphics/trig.sty
INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
INPUT /usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+INPUT /usr/share/texmf-dist/tex/latex/adjustbox/adjustbox.sty
+INPUT /usr/share/texmf-dist/tex/latex/adjustbox/adjustbox.sty
+INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty
+INPUT /usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty
+INPUT /usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex
+INPUT /usr/share/texmf-dist/tex/generic/xkeyval/xkvutils.tex
+INPUT /usr/share/texmf-dist/tex/latex/adjustbox/adjcalc.sty
+INPUT /usr/share/texmf-dist/tex/latex/adjustbox/adjcalc.sty
+INPUT /usr/share/texmf-dist/tex/latex/adjustbox/trimclip.sty
+INPUT /usr/share/texmf-dist/tex/latex/adjustbox/trimclip.sty
+INPUT /usr/share/texmf-dist/tex/latex/collectbox/collectbox.sty
+INPUT /usr/share/texmf-dist/tex/latex/collectbox/collectbox.sty
+INPUT /usr/share/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
+INPUT /usr/share/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
+INPUT /usr/share/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
+INPUT /usr/share/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty
+INPUT /usr/share/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty
+INPUT /usr/share/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty
+INPUT /usr/share/texmf-dist/tex/latex/varwidth/varwidth.sty
+INPUT /usr/share/texmf-dist/tex/latex/varwidth/varwidth.sty
+INPUT /usr/share/texmf-dist/tex/latex/varwidth/varwidth.sty
INPUT /usr/share/texmf-dist/tex/latex/forest/forest.sty
INPUT /usr/share/texmf-dist/tex/latex/forest/forest.sty
INPUT /usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
@@ -281,6 +302,10 @@ INPUT /usr/share/texmf-dist/tex/latex/tikz-qtree/pgftree.tex
INPUT /usr/share/texmf-dist/tex/latex/tikz-qtree/tikz-qtree.tex
INPUT /usr/share/texmf-dist/tex/latex/tikz-qtree/tikz-qtree.tex
INPUT /usr/share/texmf-dist/tex/latex/tikz-qtree/tikz-qtree.tex
+INPUT /usr/share/texmf-dist/tex/latex/bchart/bchart.sty
+INPUT /usr/share/texmf-dist/tex/latex/bchart/bchart.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/ifthen.sty
+INPUT /usr/share/texmf-dist/tex/latex/base/ifthen.sty
INPUT ./writeup.aux
INPUT ./writeup.aux
INPUT writeup.aux
@@ -310,8 +335,7 @@ INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr17.tfm
INPUT ./writeup.toc
INPUT ./writeup.toc
INPUT writeup.toc
-OUTPUT writeup.toc
-INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmtt12.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr8.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmr6.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm
@@ -320,7 +344,8 @@ INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy10.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy8.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmsy6.tfm
-INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm
+OUTPUT writeup.toc
+INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmtt12.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmbx12.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmbxti10.tfm
INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/tcrm1200.tfm
@@ -367,3 +392,97 @@ INPUT ../code2/comp.c
INPUT ../code2/util.c
INPUT ../code2/util.c
INPUT ../code2/util.c
+INPUT ../code2/fileread.h
+INPUT ../code2/fileread.h
+INPUT ../code2/fileread.h
+INPUT ../code2/tokenizer.h
+INPUT ../code2/tokenizer.h
+INPUT ../code2/tokenizer.h
+INPUT ../code2/comp.h
+INPUT ../code2/comp.h
+INPUT ../code2/comp.h
+INPUT ../code2/appendsnprintf.h
+INPUT ../code2/appendsnprintf.h
+INPUT ../code2/appendsnprintf.h
+INPUT ../code2/util.h
+INPUT ../code2/util.h
+INPUT ../code2/util.h
+INPUT ../code2/Makefile
+INPUT ../code2/Makefile
+INPUT ../code2/Makefile
+INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmtt.fd
+INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmtt.fd
+INPUT /usr/share/texmf-dist/tex/latex/base/ts1cmtt.fd
+INPUT /usr/share/texmf-dist/fonts/tfm/jknappen/ec/tctt1000.tfm
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT ../code2/zpypkg/zpypkg.sh
+INPUT ../code2/zpypkg/zpypkg.sh
+INPUT ../code2/zpypkg/zpypkg.sh
+INPUT ../code2/stdlib/zpylib.c
+INPUT ../code2/stdlib/zpylib.c
+INPUT ../code2/stdlib/zpylib.c
+INPUT ../code2/stdlib/String/String.c
+INPUT ../code2/stdlib/String/String.c
+INPUT ../code2/stdlib/String/String.c
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang2.sty
+INPUT ../code2/examples/fib_example.zpy
+INPUT ../code2/examples/fib_example.zpy
+INPUT ../code2/examples/fib_example.zpy
+INPUT ./examples/fib.example
+INPUT ./examples/fib.example
+INPUT ./examples/fib.example
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT /usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+INPUT ./examples/fib.py
+INPUT ./examples/fib.py
+INPUT ./examples/fib.py
+INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmti10.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmss12.tfm
+INPUT /usr/share/texmf-dist/fonts/tfm/public/cm/cmssi12.tfm
+INPUT ./examples/str_example.zpy
+INPUT ./examples/str_example.zpy
+INPUT ./examples/str_example.zpy
+INPUT ./examples/string.example
+INPUT ./examples/string.example
+INPUT ./examples/string.example
+INPUT ./examples/zpypkg.example
+INPUT ./examples/zpypkg.example
+INPUT ./examples/zpypkg.example
+INPUT ./examples/spaceinvaders.zpy
+INPUT ./examples/spaceinvaders.zpy
+INPUT ./examples/spaceinvaders.zpy
+INPUT ./examples/spaceinvaders.png
+INPUT ./examples/spaceinvaders.png
+INPUT ./examples/spaceinvaders.png
+INPUT ./examples/spaceinvaders.png
+INPUT ./examples/spaceinvaders.png
+INPUT writeup.aux
+INPUT ./writeup.out
+INPUT ./writeup.out
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbxti10.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmss12.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmssi12.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti12.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt12.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb
+INPUT /usr/share/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.log b/comp/lucas-standen-NEA/writeup2/writeup.log
index 13db9d7..0dd05ce 100644
--- a/comp/lucas-standen-NEA/writeup2/writeup.log
+++ b/comp/lucas-standen-NEA/writeup2/writeup.log
@@ -1,6 +1,7 @@
-This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/Arch Linux) (preloaded format=pdflatex 2024.11.14) 14 NOV 2024 10:39
+This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/Arch Linux) (preloaded format=pdflatex 2024.11.14) 5 DEC 2024 09:59
entering extended mode
restricted \write18 enabled.
+ file:line:error style messages enabled.
%&-line parsing enabled.
**writeup.tex
(./writeup.tex
@@ -22,18 +23,14 @@ File: size12.clo 2023/05/17 v1.4n Standard LaTeX file (size option)
\abovecaptionskip=\skip48
\belowcaptionskip=\skip49
\bibindent=\dimen140
-)
-(/usr/share/texmf-dist/tex/latex/geometry/geometry.sty
+) (/usr/share/texmf-dist/tex/latex/geometry/geometry.sty
Package: geometry 2020/01/02 v5.9 Page Geometry
-
-(/usr/share/texmf-dist/tex/latex/graphics/keyval.sty
+ (/usr/share/texmf-dist/tex/latex/graphics/keyval.sty
Package: keyval 2022/05/29 v1.15 key=value parser (DPC)
\KV@toks@=\toks17
-)
-(/usr/share/texmf-dist/tex/generic/iftex/ifvtex.sty
+) (/usr/share/texmf-dist/tex/generic/iftex/ifvtex.sty
Package: ifvtex 2019/10/25 v1.7 ifvtex legacy package. Use iftex instead.
-
-(/usr/share/texmf-dist/tex/generic/iftex/iftex.sty
+ (/usr/share/texmf-dist/tex/generic/iftex/iftex.sty
Package: iftex 2022/02/03 v1.0f TeX engine tests
))
\Gm@cnth=\count196
@@ -48,14 +45,12 @@ Package: iftex 2022/02/03 v1.0f TeX engine tests
\Gm@layouthoffset=\dimen147
\Gm@layoutvoffset=\dimen148
\Gm@dimlist=\toks18
-)
-(/usr/share/texmf-dist/tex/latex/titling/titling.sty
+) (/usr/share/texmf-dist/tex/latex/titling/titling.sty
Package: titling 2009/09/04 v2.1d maketitle typesetting
\thanksmarkwidth=\skip50
\thanksmargin=\skip51
\droptitle=\skip52
-)
-(/usr/share/texmf-dist/tex/latex/titlesec/titlesec.sty
+) (/usr/share/texmf-dist/tex/latex/titlesec/titlesec.sty
Package: titlesec 2023/10/27 v2.16 Sectioning titles
\ttl@box=\box51
\beforetitleunit=\skip53
@@ -66,18 +61,15 @@ Package: titlesec 2023/10/27 v2.16 Sectioning titles
\titlewidth=\dimen151
\titlewidthlast=\dimen152
\titlewidthfirst=\dimen153
-)
-(/usr/share/texmf-dist/tex/generic/babel/babel.sty
+) (/usr/share/texmf-dist/tex/generic/babel/babel.sty
Package: babel 2024/02/07 v24.2 The Babel package
\babel@savecnt=\count199
\U@D=\dimen154
\l@unhyphenated=\language5
-
-(/usr/share/texmf-dist/tex/generic/babel/txtbabel.def)
+ (/usr/share/texmf-dist/tex/generic/babel/txtbabel.def)
\bbl@readstream=\read2
\bbl@dirlevel=\count266
-
-(/usr/share/texmf-dist/tex/generic/babel-english/english.ldf
+ (/usr/share/texmf-dist/tex/generic/babel-english/english.ldf
Language: english 2017/06/06 v3.3r English support from the babel system
Package babel Info: Hyphen rules for 'british' set to \l@english
(babel) (\language0). Reported on input line 82.
@@ -89,76 +81,57 @@ Package babel Info: Hyphen rules for 'australian' set to \l@english
(babel) (\language0). Reported on input line 105.
Package babel Info: Hyphen rules for 'newzealand' set to \l@english
(babel) (\language0). Reported on input line 108.
-))
-(/usr/share/texmf-dist/tex/generic/babel/locale/en/babel-english.tex
+)) (/usr/share/texmf-dist/tex/generic/babel/locale/en/babel-english.tex
Package babel Info: Importing font and identification data for english
(babel) from babel-en.ini. Reported on input line 11.
-)
-(/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty
+) (/usr/share/texmf-dist/tex/latex/hyperref/hyperref.sty
Package: hyperref 2024-01-20 v7.01h Hypertext links for LaTeX
-
-(/usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty
+ (/usr/share/texmf-dist/tex/latex/kvsetkeys/kvsetkeys.sty
Package: kvsetkeys 2022-10-05 v1.19 Key value parser (HO)
-)
-(/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
+) (/usr/share/texmf-dist/tex/generic/kvdefinekeys/kvdefinekeys.sty
Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
-)
-(/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty
+) (/usr/share/texmf-dist/tex/generic/pdfescape/pdfescape.sty
Package: pdfescape 2019/12/09 v1.15 Implements pdfTeX's escape features (HO)
-
-(/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
+ (/usr/share/texmf-dist/tex/generic/ltxcmds/ltxcmds.sty
Package: ltxcmds 2023-12-04 v1.26 LaTeX kernel commands for general use (HO)
-)
-(/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
-Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO
-)
-
-(/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty
+) (/usr/share/texmf-dist/tex/generic/pdftexcmds/pdftexcmds.sty
+Package: pdftexcmds 2020-06-27 v0.33 Utility functions of pdfTeX for LuaTeX (HO)
+ (/usr/share/texmf-dist/tex/generic/infwarerr/infwarerr.sty
Package: infwarerr 2019/12/03 v1.5 Providing info/warning/error messages (HO)
)
Package pdftexcmds Info: \pdf@primitive is available.
Package pdftexcmds Info: \pdf@ifprimitive is available.
Package pdftexcmds Info: \pdfdraftmode found.
-))
-(/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty
+)) (/usr/share/texmf-dist/tex/latex/hycolor/hycolor.sty
Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
-)
-(/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty
+) (/usr/share/texmf-dist/tex/latex/auxhook/auxhook.sty
Package: auxhook 2019-12-17 v1.6 Hooks for auxiliary files (HO)
-)
-(/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty
+) (/usr/share/texmf-dist/tex/latex/hyperref/nameref.sty
Package: nameref 2023-11-26 v2.56 Cross-referencing by name of section
-
-(/usr/share/texmf-dist/tex/latex/refcount/refcount.sty
+ (/usr/share/texmf-dist/tex/latex/refcount/refcount.sty
Package: refcount 2019/12/15 v3.6 Data extraction from label references (HO)
-)
-(/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
+) (/usr/share/texmf-dist/tex/generic/gettitlestring/gettitlestring.sty
Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
-
-(/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty
+ (/usr/share/texmf-dist/tex/latex/kvoptions/kvoptions.sty
Package: kvoptions 2022-06-15 v3.15 Key value format for package options (HO)
))
\c@section@level=\count267
-)
-(/usr/share/texmf-dist/tex/latex/etoolbox/etoolbox.sty
+) (/usr/share/texmf-dist/tex/latex/etoolbox/etoolbox.sty
Package: etoolbox 2020/10/05 v2.5k e-TeX tools for LaTeX (JAW)
\etb@tempcnta=\count268
)
\@linkdim=\dimen155
\Hy@linkcounter=\count269
\Hy@pagecounter=\count270
-
-(/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def
+ (/usr/share/texmf-dist/tex/latex/hyperref/pd1enc.def
File: pd1enc.def 2024-01-20 v7.01h Hyperref: PDFDocEncoding definition (HO)
Now handling font encoding PD1 ...
... no UTF-8 mapping file for font encoding PD1
-)
-(/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty
+) (/usr/share/texmf-dist/tex/generic/intcalc/intcalc.sty
Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO)
)
\Hy@SavedSpaceFactor=\count271
-
-(/usr/share/texmf-dist/tex/latex/hyperref/puenc.def
+ (/usr/share/texmf-dist/tex/latex/hyperref/puenc.def
File: puenc.def 2024-01-20 v7.01h Hyperref: PDF Unicode definition (HO)
Now handling font encoding PU ...
... no UTF-8 mapping file for font encoding PU
@@ -171,20 +144,16 @@ Package hyperref Info: Backreferencing OFF on input line 4199.
Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
Package hyperref Info: Bookmarks ON on input line 4446.
\c@Hy@tempcnt=\count272
-
-(/usr/share/texmf-dist/tex/latex/url/url.sty
+ (/usr/share/texmf-dist/tex/latex/url/url.sty
\Urlmuskip=\muskip16
Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc.
)
LaTeX Info: Redefining \url on input line 4784.
\XeTeXLinkMargin=\dimen156
-
-(/usr/share/texmf-dist/tex/generic/bitset/bitset.sty
+ (/usr/share/texmf-dist/tex/generic/bitset/bitset.sty
Package: bitset 2019/12/09 v1.3 Handle bit-vector datatype (HO)
-
-(/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
-Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO
-)
+ (/usr/share/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty
+Package: bigintcalc 2019/12/15 v1.5 Expandable calculations on big integers (HO)
))
\Fld@menulength=\count273
\Field@Width=\dimen157
@@ -196,8 +165,7 @@ Package hyperref Info: backreferencing OFF on input line 6078.
Package hyperref Info: Link coloring OFF on input line 6083.
Package hyperref Info: Link coloring with OCG OFF on input line 6088.
Package hyperref Info: PDF/A mode OFF on input line 6093.
-
-(/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty
+ (/usr/share/texmf-dist/tex/latex/base/atbegshi-ltx.sty
Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi
package with kernel methods
)
@@ -206,30 +174,24 @@ package with kernel methods
\c@Hfootnote=\count276
)
Package hyperref Info: Driver (autodetected): hpdftex.
-
-(/usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def
+ (/usr/share/texmf-dist/tex/latex/hyperref/hpdftex.def
File: hpdftex.def 2024-01-20 v7.01h Hyperref driver for pdfTeX
-
-(/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty
-Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend pac
-kage
+ (/usr/share/texmf-dist/tex/latex/base/atveryend-ltx.sty
+Package: atveryend-ltx 2020/08/19 v1.0a Emulation of the original atveryend package
with kernel methods
)
\Fld@listcount=\count277
\c@bookmark@seq@number=\count278
-
-(/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
+ (/usr/share/texmf-dist/tex/latex/rerunfilecheck/rerunfilecheck.sty
Package: rerunfilecheck 2022-07-10 v1.10 Rerun checks for auxiliary files (HO)
(/usr/share/texmf-dist/tex/generic/uniquecounter/uniquecounter.sty
Package: uniquecounter 2019/12/15 v1.4 Provide unlimited unique counter (HO)
)
-Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
-85.
+Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 285.
)
\Hy@SectionHShift=\skip55
-)
-(/usr/share/texmf-dist/tex/latex/listings/listings.sty
+) (/usr/share/texmf-dist/tex/latex/listings/listings.sty
\lst@mode=\count279
\lst@gtempboxa=\box52
\lst@token=\toks20
@@ -242,33 +204,26 @@ Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
\lst@newlines=\count283
\lst@lineno=\count284
\lst@maxwidth=\dimen162
-
-(/usr/share/texmf-dist/tex/latex/listings/lstpatch.sty
+ (/usr/share/texmf-dist/tex/latex/listings/lstpatch.sty
File: lstpatch.sty 2024/02/21 1.10 (Carsten Heinz)
-)
-(/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+) (/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
File: lstmisc.sty 2024/02/21 1.10 (Carsten Heinz)
\c@lstnumber=\count285
\lst@skipnumbers=\count286
\lst@framebox=\box53
-)
-(/usr/share/texmf-dist/tex/latex/listings/listings.cfg
+) (/usr/share/texmf-dist/tex/latex/listings/listings.cfg
File: listings.cfg 2024/02/21 1.10 listings configuration
))
Package: listings 2024/02/21 1.10 (Carsten Heinz)
-
-(/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty
+ (/usr/share/texmf-dist/tex/latex/xcolor/xcolor.sty
Package: xcolor 2023/11/15 v3.01 LaTeX color extensions (UK)
-
-(/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg
+ (/usr/share/texmf-dist/tex/latex/graphics-cfg/color.cfg
File: color.cfg 2016/01/02 v1.6 sample color configuration
)
Package xcolor Info: Driver file: pdftex.def on input line 274.
-
-(/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def
+ (/usr/share/texmf-dist/tex/latex/graphics-def/pdftex.def
File: pdftex.def 2022/09/22 v1.2b Graphics/color driver for pdftex
-)
-(/usr/share/texmf-dist/tex/latex/graphics/mathcolor.ltx)
+) (/usr/share/texmf-dist/tex/latex/graphics/mathcolor.ltx)
Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1350.
Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1354.
Package xcolor Info: Model `RGB' extended on input line 1366.
@@ -278,464 +233,403 @@ Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1370.
Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1371.
Package xcolor Info: Model `Gray' substituted by `gray' on input line 1372.
Package xcolor Info: Model `wave' substituted by `hsb' on input line 1373.
-)
-(/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
+) (/usr/share/texmf-dist/tex/latex/graphics/graphicx.sty
Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR)
-
-(/usr/share/texmf-dist/tex/latex/graphics/graphics.sty
+ (/usr/share/texmf-dist/tex/latex/graphics/graphics.sty
Package: graphics 2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR)
-
-(/usr/share/texmf-dist/tex/latex/graphics/trig.sty
+ (/usr/share/texmf-dist/tex/latex/graphics/trig.sty
Package: trig 2021/08/11 v1.11 sin cos tan (DPC)
-)
-(/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
+) (/usr/share/texmf-dist/tex/latex/graphics-cfg/graphics.cfg
File: graphics.cfg 2016/06/04 v1.11 sample graphics configuration
)
Package graphics Info: Driver file: pdftex.def on input line 107.
)
\Gin@req@height=\dimen163
\Gin@req@width=\dimen164
-)
-(/usr/share/texmf-dist/tex/latex/forest/forest.sty
+) (/usr/share/texmf-dist/tex/latex/adjustbox/adjustbox.sty
+Package: adjustbox 2022/10/17 v1.3a Adjusting TeX boxes (trim, clip, ...)
+ (/usr/share/texmf-dist/tex/latex/xkeyval/xkeyval.sty
+Package: xkeyval 2022/06/16 v2.9 package option processing (HA)
+ (/usr/share/texmf-dist/tex/generic/xkeyval/xkeyval.tex (/usr/share/texmf-dist/tex/generic/xkeyval/xkvutils.tex
+\XKV@toks=\toks21
+\XKV@tempa@toks=\toks22
+)
+\XKV@depth=\count287
+File: xkeyval.tex 2014/12/03 v2.7a key=value parser (HA)
+)) (/usr/share/texmf-dist/tex/latex/adjustbox/adjcalc.sty
+Package: adjcalc 2012/05/16 v1.1 Provides advanced setlength with multiple back-ends (calc, etex, pgfmath)
+) (/usr/share/texmf-dist/tex/latex/adjustbox/trimclip.sty
+Package: trimclip 2020/08/19 v1.2 Trim and clip general TeX material
+ (/usr/share/texmf-dist/tex/latex/collectbox/collectbox.sty
+Package: collectbox 2022/10/17 v0.4c Collect macro arguments as boxes
+\collectedbox=\box54
+)
+\tc@llx=\dimen165
+\tc@lly=\dimen166
+\tc@urx=\dimen167
+\tc@ury=\dimen168
+Package trimclip Info: Using driver 'tc-pdftex.def'.
+ (/usr/share/texmf-dist/tex/latex/adjustbox/tc-pdftex.def
+File: tc-pdftex.def 2019/01/04 v2.2 Clipping driver for pdftex
+))
+\adjbox@Width=\dimen169
+\adjbox@Height=\dimen170
+\adjbox@Depth=\dimen171
+\adjbox@Totalheight=\dimen172
+\adjbox@pwidth=\dimen173
+\adjbox@pheight=\dimen174
+\adjbox@pdepth=\dimen175
+\adjbox@ptotalheight=\dimen176
+ (/usr/share/texmf-dist/tex/latex/ifoddpage/ifoddpage.sty
+Package: ifoddpage 2022/10/18 v1.2 Conditionals for odd/even page detection
+\c@checkoddpage=\count288
+) (/usr/share/texmf-dist/tex/latex/varwidth/varwidth.sty
+Package: varwidth 2009/03/30 ver 0.92; Variable-width minipages
+\@vwid@box=\box55
+\sift@deathcycles=\count289
+\@vwid@loff=\dimen177
+\@vwid@roff=\dimen178
+)) (/usr/share/texmf-dist/tex/latex/forest/forest.sty
Package: forest 2017/07/14 v2.1.5 Drawing (linguistic) trees
-
-(/usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty
-(/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty
-(/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty
-(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
-\pgfutil@everybye=\toks21
-\pgfutil@tempdima=\dimen165
-\pgfutil@tempdimb=\dimen166
-)
-(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
-\pgfutil@abb=\box54
-)
-(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex
-(/usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex)
+ (/usr/share/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty (/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty (/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.tex
+\pgfutil@everybye=\toks23
+\pgfutil@tempdima=\dimen179
+\pgfutil@tempdimb=\dimen180
+) (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def
+\pgfutil@abb=\box56
+) (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex (/usr/share/texmf-dist/tex/generic/pgf/pgf.revision.tex)
Package: pgfrcs 2023-01-15 v3.1.10 (3.1.10)
))
Package: pgf 2023-01-15 v3.1.10 (3.1.10)
-
-(/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty
-(/usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty
-(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
+ (/usr/share/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty (/usr/share/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex
Package: pgfsys 2023-01-15 v3.1.10 (3.1.10)
(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex
-\pgfkeys@pathtoks=\toks22
-\pgfkeys@temptoks=\toks23
-
-(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.te
-x
-\pgfkeys@tmptoks=\toks24
+\pgfkeys@pathtoks=\toks24
+\pgfkeys@temptoks=\toks25
+ (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeyslibraryfiltered.code.tex
+\pgfkeys@tmptoks=\toks26
))
-\pgf@x=\dimen167
-\pgf@y=\dimen168
-\pgf@xa=\dimen169
-\pgf@ya=\dimen170
-\pgf@xb=\dimen171
-\pgf@yb=\dimen172
-\pgf@xc=\dimen173
-\pgf@yc=\dimen174
-\pgf@xd=\dimen175
-\pgf@yd=\dimen176
+\pgf@x=\dimen181
+\pgf@y=\dimen182
+\pgf@xa=\dimen183
+\pgf@ya=\dimen184
+\pgf@xb=\dimen185
+\pgf@yb=\dimen186
+\pgf@xc=\dimen187
+\pgf@yc=\dimen188
+\pgf@xd=\dimen189
+\pgf@yd=\dimen190
\w@pgf@writea=\write3
\r@pgf@reada=\read3
-\c@pgf@counta=\count287
-\c@pgf@countb=\count288
-\c@pgf@countc=\count289
-\c@pgf@countd=\count290
-\t@pgf@toka=\toks25
-\t@pgf@tokb=\toks26
-\t@pgf@tokc=\toks27
-\pgf@sys@id@count=\count291
+\c@pgf@counta=\count290
+\c@pgf@countb=\count291
+\c@pgf@countc=\count292
+\c@pgf@countd=\count293
+\t@pgf@toka=\toks27
+\t@pgf@tokb=\toks28
+\t@pgf@tokc=\toks29
+\pgf@sys@id@count=\count294
(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg
File: pgf.cfg 2023-01-15 v3.1.10 (3.1.10)
)
Driver file for pgf: pgfsys-pdftex.def
-
-(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
+ (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.def
File: pgfsys-pdftex.def 2023-01-15 v3.1.10 (3.1.10)
-
-(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
+ (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-pdf.def
File: pgfsys-common-pdf.def 2023-01-15 v3.1.10 (3.1.10)
-)))
-(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
+))) (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath.code.tex
File: pgfsyssoftpath.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgfsyssoftpath@smallbuffer@items=\count292
-\pgfsyssoftpath@bigbuffer@items=\count293
-)
-(/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
+\pgfsyssoftpath@smallbuffer@items=\count295
+\pgfsyssoftpath@bigbuffer@items=\count296
+) (/usr/share/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol.code.tex
File: pgfsysprotocol.code.tex 2023-01-15 v3.1.10 (3.1.10)
-))
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
+)) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex
Package: pgfcore 2023-01-15 v3.1.10 (3.1.10)
-
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex)
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
-\pgfmath@dimen=\dimen177
-\pgfmath@count=\count294
-\pgfmath@box=\box55
-\pgfmath@toks=\toks28
-\pgfmath@stack@operand=\toks29
-\pgfmath@stack@operation=\toks30
-)
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex)
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex)
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code
-.tex)
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex)
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.te
-x) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex)
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex)
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex)
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics
-.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex)
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex
-\c@pgfmathroundto@lastzeros=\count295
-))
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfint.code.tex)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
+ (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex
+\pgfmath@dimen=\dimen191
+\pgfmath@count=\count297
+\pgfmath@box=\box57
+\pgfmath@toks=\toks30
+\pgfmath@stack@operand=\toks31
+\pgfmath@stack@operation=\toks32
+) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigonometric.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.random.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.comparison.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integerarithmetics.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex
+\c@pgfmathroundto@lastzeros=\count298
+)) (/usr/share/texmf-dist/tex/generic/pgf/math/pgfint.code.tex) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.code.tex
File: pgfcorepoints.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgf@picminx=\dimen178
-\pgf@picmaxx=\dimen179
-\pgf@picminy=\dimen180
-\pgf@picmaxy=\dimen181
-\pgf@pathminx=\dimen182
-\pgf@pathmaxx=\dimen183
-\pgf@pathminy=\dimen184
-\pgf@pathmaxy=\dimen185
-\pgf@xx=\dimen186
-\pgf@xy=\dimen187
-\pgf@yx=\dimen188
-\pgf@yy=\dimen189
-\pgf@zx=\dimen190
-\pgf@zy=\dimen191
-)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
+\pgf@picminx=\dimen192
+\pgf@picmaxx=\dimen193
+\pgf@picminy=\dimen194
+\pgf@picmaxy=\dimen195
+\pgf@pathminx=\dimen196
+\pgf@pathmaxx=\dimen197
+\pgf@pathminy=\dimen198
+\pgf@pathmaxy=\dimen199
+\pgf@xx=\dimen256
+\pgf@xy=\dimen257
+\pgf@yx=\dimen258
+\pgf@yy=\dimen259
+\pgf@zx=\dimen260
+\pgf@zy=\dimen261
+) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconstruct.code.tex
File: pgfcorepathconstruct.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgf@path@lastx=\dimen192
-\pgf@path@lasty=\dimen193
+\pgf@path@lastx=\dimen262
+\pgf@path@lasty=\dimen263
) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage.code.tex
File: pgfcorepathusage.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgf@shorten@end@additional=\dimen194
-\pgf@shorten@start@additional=\dimen195
-)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
+\pgf@shorten@end@additional=\dimen264
+\pgf@shorten@start@additional=\dimen265
+) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.code.tex
File: pgfcorescopes.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgfpic=\box56
-\pgf@hbox=\box57
-\pgf@layerbox@main=\box58
-\pgf@picture@serial@count=\count296
+\pgfpic=\box58
+\pgf@hbox=\box59
+\pgf@layerbox@main=\box60
+\pgf@picture@serial@count=\count299
)
(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicstate.code.tex
File: pgfcoregraphicstate.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgflinewidth=\dimen196
-)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.t
-ex
+\pgflinewidth=\dimen266
+) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransformations.code.tex
File: pgfcoretransformations.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgf@pt@x=\dimen197
-\pgf@pt@y=\dimen198
-\pgf@pt@temp=\dimen199
+\pgf@pt@x=\dimen267
+\pgf@pt@y=\dimen268
+\pgf@pt@temp=\dimen269
) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.code.tex
File: pgfcorequick.code.tex 2023-01-15 v3.1.10 (3.1.10)
-)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
+) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.code.tex
File: pgfcoreobjects.code.tex 2023-01-15 v3.1.10 (3.1.10)
-)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.te
-x
+) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathprocessing.code.tex
File: pgfcorepathprocessing.code.tex 2023-01-15 v3.1.10 (3.1.10)
) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.code.tex
File: pgfcorearrows.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgfarrowsep=\dimen256
-)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
+\pgfarrowsep=\dimen270
+) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.code.tex
File: pgfcoreshade.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgf@max=\dimen257
-\pgf@sys@shading@range@num=\count297
-\pgf@shadingcount=\count298
-)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
+\pgf@max=\dimen271
+\pgf@sys@shading@range@num=\count300
+\pgf@shadingcount=\count301
+) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.code.tex
File: pgfcoreimage.code.tex 2023-01-15 v3.1.10 (3.1.10)
-)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
+) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal.code.tex
File: pgfcoreexternal.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgfexternal@startupbox=\box59
-)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
+\pgfexternal@startupbox=\box61
+) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.code.tex
File: pgfcorelayers.code.tex 2023-01-15 v3.1.10 (3.1.10)
-)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
+) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransparency.code.tex
File: pgfcoretransparency.code.tex 2023-01-15 v3.1.10 (3.1.10)
) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns.code.tex
File: pgfcorepatterns.code.tex 2023-01-15 v3.1.10 (3.1.10)
-)
-(/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
+) (/usr/share/texmf-dist/tex/generic/pgf/basiclayer/pgfcorerdf.code.tex
File: pgfcorerdf.code.tex 2023-01-15 v3.1.10 (3.1.10)
-)))
-(/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
+))) (/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.code.tex
File: pgfmoduleshapes.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgfnodeparttextbox=\box60
-)
-(/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex
+\pgfnodeparttextbox=\box62
+) (/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code.tex
File: pgfmoduleplot.code.tex 2023-01-15 v3.1.10 (3.1.10)
-)
-(/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
+) (/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-0-65.sty
Package: pgfcomp-version-0-65 2023-01-15 v3.1.10 (3.1.10)
-\pgf@nodesepstart=\dimen258
-\pgf@nodesepend=\dimen259
-)
-(/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
+\pgf@nodesepstart=\dimen272
+\pgf@nodesepend=\dimen273
+) (/usr/share/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version-1-18.sty
Package: pgfcomp-version-1-18 2023-01-15 v3.1.10 (3.1.10)
-))
-(/usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty
-(/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty
-(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex))
-(/usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty
-(/usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex))
-(/usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
+)) (/usr/share/texmf-dist/tex/latex/pgf/utilities/pgffor.sty (/usr/share/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex)) (/usr/share/texmf-dist/tex/latex/pgf/math/pgfmath.sty (/usr/share/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) (/usr/share/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex
Package: pgffor 2023-01-15 v3.1.10 (3.1.10)
-\pgffor@iter=\dimen260
-\pgffor@skip=\dimen261
-\pgffor@stack=\toks31
-\pgffor@toks=\toks32
-))
-(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
+\pgffor@iter=\dimen274
+\pgffor@skip=\dimen275
+\pgffor@stack=\toks33
+\pgffor@toks=\toks34
+)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.code.tex
Package: tikz 2023-01-15 v3.1.10 (3.1.10)
-
-(/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.te
-x
+ (/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.tex
File: pgflibraryplothandlers.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgf@plot@mark@count=\count299
-\pgfplotmarksize=\dimen262
-)
-\tikz@lastx=\dimen263
-\tikz@lasty=\dimen264
-\tikz@lastxsaved=\dimen265
-\tikz@lastysaved=\dimen266
-\tikz@lastmovetox=\dimen267
-\tikz@lastmovetoy=\dimen268
-\tikzleveldistance=\dimen269
-\tikzsiblingdistance=\dimen270
-\tikz@figbox=\box61
-\tikz@figbox@bg=\box62
-\tikz@tempbox=\box63
-\tikz@tempbox@bg=\box64
-\tikztreelevel=\count300
-\tikznumberofchildren=\count301
-\tikznumberofcurrentchild=\count302
-\tikz@fig@count=\count303
+\pgf@plot@mark@count=\count302
+\pgfplotmarksize=\dimen276
+)
+\tikz@lastx=\dimen277
+\tikz@lasty=\dimen278
+\tikz@lastxsaved=\dimen279
+\tikz@lastysaved=\dimen280
+\tikz@lastmovetox=\dimen281
+\tikz@lastmovetoy=\dimen282
+\tikzleveldistance=\dimen283
+\tikzsiblingdistance=\dimen284
+\tikz@figbox=\box63
+\tikz@figbox@bg=\box64
+\tikz@tempbox=\box65
+\tikz@tempbox@bg=\box66
+\tikztreelevel=\count303
+\tikznumberofchildren=\count304
+\tikznumberofcurrentchild=\count305
+\tikz@fig@count=\count306
(/usr/share/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.code.tex
File: pgfmodulematrix.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgfmatrixcurrentrow=\count304
-\pgfmatrixcurrentcolumn=\count305
-\pgf@matrix@numberofcolumns=\count306
+\pgfmatrixcurrentrow=\count307
+\pgfmatrixcurrentcolumn=\count308
+\pgf@matrix@numberofcolumns=\count309
)
-\tikz@expandcount=\count307
-
-(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary
-topaths.code.tex
+\tikz@expandcount=\count310
+ (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarytopaths.code.tex
File: tikzlibrarytopaths.code.tex 2023-01-15 v3.1.10 (3.1.10)
)))
-(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary
-shapes.code.tex
+(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.code.tex
File: tikzlibraryshapes.code.tex 2023-01-15 v3.1.10 (3.1.10)
-
-(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary
-shapes.geometric.code.tex
+ (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.geometric.code.tex
File: tikzlibraryshapes.geometric.code.tex 2023-01-15 v3.1.10 (3.1.10)
-
-(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geomet
-ric.code.tex
+ (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.geometric.code.tex
File: pgflibraryshapes.geometric.code.tex 2023-01-15 v3.1.10 (3.1.10)
-))
-(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary
-shapes.misc.code.tex
+)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.misc.code.tex
File: tikzlibraryshapes.misc.code.tex 2023-01-15 v3.1.10 (3.1.10)
-
-(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.c
-ode.tex
+ (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.misc.code.tex
File: pgflibraryshapes.misc.code.tex 2023-01-15 v3.1.10 (3.1.10)
-))
-(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary
-shapes.symbols.code.tex
+)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.symbols.code.tex
File: tikzlibraryshapes.symbols.code.tex 2023-01-15 v3.1.10 (3.1.10)
-
-(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbol
-s.code.tex
+ (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.symbols.code.tex
File: pgflibraryshapes.symbols.code.tex 2023-01-15 v3.1.10 (3.1.10)
-))
-(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary
-shapes.arrows.code.tex
+)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.arrows.code.tex
File: tikzlibraryshapes.arrows.code.tex 2023-01-15 v3.1.10 (3.1.10)
-
-(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows
-.code.tex
+ (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.arrows.code.tex
File: pgflibraryshapes.arrows.code.tex 2023-01-15 v3.1.10 (3.1.10)
-))
-(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary
-shapes.callouts.code.tex
-(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callou
-ts.code.tex))
-(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary
-shapes.multipart.code.tex
+)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.callouts.code.tex (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.callouts.code.tex)) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryshapes.multipart.code.tex
File: tikzlibraryshapes.multipart.code.tex 2023-01-15 v3.1.10 (3.1.10)
-
-(/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multip
-art.code.tex
+ (/usr/share/texmf-dist/tex/generic/pgf/libraries/shapes/pgflibraryshapes.multipart.code.tex
File: pgflibraryshapes.multipart.code.tex 2023-01-15 v3.1.10 (3.1.10)
-\pgfnodepartlowerbox=\box65
-\pgfnodeparttwobox=\box66
-\pgfnodepartthreebox=\box67
-\pgfnodepartfourbox=\box68
-\pgfnodeparttwentybox=\box69
-\pgfnodepartnineteenbox=\box70
-\pgfnodeparteighteenbox=\box71
-\pgfnodepartseventeenbox=\box72
-\pgfnodepartsixteenbox=\box73
-\pgfnodepartfifteenbox=\box74
-\pgfnodepartfourteenbox=\box75
-\pgfnodepartthirteenbox=\box76
-\pgfnodeparttwelvebox=\box77
-\pgfnodepartelevenbox=\box78
-\pgfnodeparttenbox=\box79
-\pgfnodepartninebox=\box80
-\pgfnodeparteightbox=\box81
-\pgfnodepartsevenbox=\box82
-\pgfnodepartsixbox=\box83
-\pgfnodepartfivebox=\box84
-)))
-(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary
-fit.code.tex
+\pgfnodepartlowerbox=\box67
+\pgfnodeparttwobox=\box68
+\pgfnodepartthreebox=\box69
+\pgfnodepartfourbox=\box70
+\pgfnodeparttwentybox=\box71
+\pgfnodepartnineteenbox=\box72
+\pgfnodeparteighteenbox=\box73
+\pgfnodepartseventeenbox=\box74
+\pgfnodepartsixteenbox=\box75
+\pgfnodepartfifteenbox=\box76
+\pgfnodepartfourteenbox=\box77
+\pgfnodepartthirteenbox=\box78
+\pgfnodeparttwelvebox=\box79
+\pgfnodepartelevenbox=\box80
+\pgfnodeparttenbox=\box81
+\pgfnodepartninebox=\box82
+\pgfnodeparteightbox=\box83
+\pgfnodepartsevenbox=\box84
+\pgfnodepartsixbox=\box85
+\pgfnodepartfivebox=\box86
+))) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfit.code.tex
File: tikzlibraryfit.code.tex 2023-01-15 v3.1.10 (3.1.10)
-)
-(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary
-calc.code.tex
+) (/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrarycalc.code.tex
File: tikzlibrarycalc.code.tex 2023-01-15 v3.1.10 (3.1.10)
-)
-(/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.t
-ex (/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex)
-\pgf@intersect@solutions=\count308
-)
-(/usr/share/texmf-dist/tex/latex/pgfopts/pgfopts.sty
+) (/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryintersections.code.tex (/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryfpu.code.tex)
+\pgf@intersect@solutions=\count311
+) (/usr/share/texmf-dist/tex/latex/pgfopts/pgfopts.sty
Package: pgfopts 2014/07/10 v2.1a LaTeX package options with pgfkeys
-\pgfopts@list@add@a@toks=\toks33
-\pgfopts@list@add@b@toks=\toks34
-)
-(/usr/share/texmf-dist/tex/latex/elocalloc/elocalloc.sty
+\pgfopts@list@add@a@toks=\toks35
+\pgfopts@list@add@b@toks=\toks36
+) (/usr/share/texmf-dist/tex/latex/elocalloc/elocalloc.sty
Package: elocalloc 2016/12/15 v0.03 local allocation for LaTeX 2015+ (DPC)
-)
-(/usr/share/texmf-dist/tex/latex/environ/environ.sty
+) (/usr/share/texmf-dist/tex/latex/environ/environ.sty
Package: environ 2014/05/04 v0.3 A new way to define environments
-
-(/usr/share/texmf-dist/tex/latex/trimspaces/trimspaces.sty
+ (/usr/share/texmf-dist/tex/latex/trimspaces/trimspaces.sty
Package: trimspaces 2009/09/17 v1.1 Trim spaces around a token list
)
-\@envbody=\toks35
-)
-(/usr/share/texmf-dist/tex/latex/l3packages/xparse/xparse.sty
-(/usr/share/texmf-dist/tex/latex/l3kernel/expl3.sty
+\@envbody=\toks37
+) (/usr/share/texmf-dist/tex/latex/l3packages/xparse/xparse.sty (/usr/share/texmf-dist/tex/latex/l3kernel/expl3.sty
Package: expl3 2024-02-20 L3 programming layer (loader)
(/usr/share/texmf-dist/tex/latex/l3backend/l3backend-pdftex.def
File: l3backend-pdftex.def 2024-02-20 L3 backend support: PDF output (pdfTeX)
-\l__color_backend_stack_int=\count309
-\l__pdf_internal_box=\box85
+\l__color_backend_stack_int=\count312
+\l__pdf_internal_box=\box87
))
Package: xparse 2024-02-18 L3 Experimental document command parser
-)
-(/usr/share/texmf-dist/tex/latex/inlinedef/inlinedef.sty
+) (/usr/share/texmf-dist/tex/latex/inlinedef/inlinedef.sty
Package: inlinedef 2008/07/10 v1.0 Inlined expansions within definitions
-\ID@toks=\toks36
-\ID@count=\count310
-)
-\ID@usercommands=\toks37
-\safeloop@depth=\count311
-\safeRKloop@depth=\count312
-\forest@temp@dimen=\dimen271
-\forest@temp@count=\count313
-\forest@n=\count314
-\forest@temp@global@count=\count315
-\forest@temp@toks=\toks38
-\forest@temparray@M=\count316
-\forest@temparray@N=\count317
-\forest@global@temparray@M=\count318
-\forest@global@temparray@N=\count319
-\forest@isnum@count=\count320
-\forest@isdim@nonintpart=\count321
-\forest@isdim@dimen=\dimen272
-\forest@sort@m=\count322
-\forest@sort@k=\count323
-\forest@sort@p=\count324
-\bracket@content=\toks39
-\bracket@afterthought=\toks40
-\forest@node@maxid=\count325
-\forest@process@left@M=\count326
-\forest@process@left@N=\count327
-\forest@process@right@M=\count328
-\forest@process@right@N=\count329
-\forest@process@saved@M=\count330
-\forest@process@saved@N=\count331
-\forest@process@result@M=\count332
-\forest@process@result@N=\count333
-\forest@process@n=\count334
-\forest@nodewalk@branch@toks=\toks41
-\forest@nodewalk@shortsteps@resolution=\toks42
-\forest@do@dynamics=\toks43
-\forest@box=\box86
-\forest@xg=\dimen273
-\forest@yg=\dimen274
-\forest@xs=\dimen275
-\forest@ys=\dimen276
-\forest@pi@toks=\toks44
-\forest@segment@toks=\toks45
-\forest@PIi@toks=\toks46
-\forest@PIii@toks=\toks47
+\ID@toks=\toks38
+\ID@count=\count313
+)
+\ID@usercommands=\toks39
+\safeloop@depth=\count314
+\safeRKloop@depth=\count315
+\forest@temp@dimen=\dimen285
+\forest@temp@count=\count316
+\forest@n=\count317
+\forest@temp@global@count=\count318
+\forest@temp@toks=\toks40
+\forest@temparray@M=\count319
+\forest@temparray@N=\count320
+\forest@global@temparray@M=\count321
+\forest@global@temparray@N=\count322
+\forest@isnum@count=\count323
+\forest@isdim@nonintpart=\count324
+\forest@isdim@dimen=\dimen286
+\forest@sort@m=\count325
+\forest@sort@k=\count326
+\forest@sort@p=\count327
+\bracket@content=\toks41
+\bracket@afterthought=\toks42
+\forest@node@maxid=\count328
+\forest@process@left@M=\count329
+\forest@process@left@N=\count330
+\forest@process@right@M=\count331
+\forest@process@right@N=\count332
+\forest@process@saved@M=\count333
+\forest@process@saved@N=\count334
+\forest@process@result@M=\count335
+\forest@process@result@N=\count336
+\forest@process@n=\count337
+\forest@nodewalk@branch@toks=\toks43
+\forest@nodewalk@shortsteps@resolution=\toks44
+\forest@do@dynamics=\toks45
+\forest@box=\box88
+\forest@xg=\dimen287
+\forest@yg=\dimen288
+\forest@xs=\dimen289
+\forest@ys=\dimen290
+\forest@pi@toks=\toks46
+\forest@segment@toks=\toks47
+\forest@PIi@toks=\toks48
+\forest@PIii@toks=\toks49
\forest@copy@in=\read4
\forest@copy@out=\write4
-\forest@externalize@max@outer@n=\count335
-\forest@externalize@inner@n=\count336
+\forest@externalize@max@outer@n=\count338
+\forest@externalize@inner@n=\count339
+) (/usr/share/texmf-dist/tex/latex/tikz-qtree/tikz-qtree.sty (/usr/share/texmf-dist/tex/latex/tikz-qtree/pgftree.sty (/usr/share/texmf-dist/tex/latex/tikz-qtree/pgfsubpic.sty (/usr/share/texmf-dist/tex/latex/tikz-qtree/pgfsubpic.tex
+\pgf@subpicminx=\dimen291
+\pgf@subpicminy=\dimen292
+\pgf@subpicmaxx=\dimen293
+\pgf@subpicmaxy=\dimen294
+)) (/usr/share/texmf-dist/tex/latex/tikz-qtree/pgftree.tex
+\levelsep=\dimen295
+\subtreesep=\dimen296
+\smuggle@levelsep=\dimen297
+\smuggle@subtreesep=\dimen298
+\this@levelsep=\dimen299
+\this@subtreesep=\dimen300
+\pgftree@childx=\dimen301
+\pgftree@savechildx=\dimen302
+\pgftree@childy=\dimen303
+\pgftree@savechildy=\dimen304
+\pgftree@childi=\count340
+\pgftree@savechildi=\count341
+\pgftree@level=\count342
+\pgftree@depth=\dimen305
+\pgf@subpic@hbox@children=\box89
+\pgf@subpic@minx@children=\dimen306
+\pgf@subpic@miny@children=\dimen307
+\pgf@subpic@maxx@children=\dimen308
+\pgf@subpic@maxy@children=\dimen309
+\pgftree@lastchildx=\dimen310
+\pgftree@lastchildy=\dimen311
+)) (/usr/share/texmf-dist/tex/latex/tikz-qtree/tikz-qtree.tex
+\@result=\toks50
+\child@list=\toks51
+\root@node=\toks52
+)) (/usr/share/texmf-dist/tex/latex/bchart/bchart.sty
+Package: bchart
+ (/usr/share/texmf-dist/tex/latex/base/ifthen.sty
+Package: ifthen 2022/04/13 v1.1d Standard LaTeX ifthen package (DPC)
+)
+\bcpos=\skip56
+\bcwidth=\skip57
)
-(/usr/share/texmf-dist/tex/latex/tikz-qtree/tikz-qtree.sty
-(/usr/share/texmf-dist/tex/latex/tikz-qtree/pgftree.sty
-(/usr/share/texmf-dist/tex/latex/tikz-qtree/pgfsubpic.sty
-(/usr/share/texmf-dist/tex/latex/tikz-qtree/pgfsubpic.tex
-\pgf@subpicminx=\dimen277
-\pgf@subpicminy=\dimen278
-\pgf@subpicmaxx=\dimen279
-\pgf@subpicmaxy=\dimen280
-))
-(/usr/share/texmf-dist/tex/latex/tikz-qtree/pgftree.tex
-\levelsep=\dimen281
-\subtreesep=\dimen282
-\smuggle@levelsep=\dimen283
-\smuggle@subtreesep=\dimen284
-\this@levelsep=\dimen285
-\this@subtreesep=\dimen286
-\pgftree@childx=\dimen287
-\pgftree@savechildx=\dimen288
-\pgftree@childy=\dimen289
-\pgftree@savechildy=\dimen290
-\pgftree@childi=\count337
-\pgftree@savechildi=\count338
-\pgftree@level=\count339
-\pgftree@depth=\dimen291
-\pgf@subpic@hbox@children=\box87
-\pgf@subpic@minx@children=\dimen292
-\pgf@subpic@miny@children=\dimen293
-\pgf@subpic@maxx@children=\dimen294
-\pgf@subpic@maxy@children=\dimen295
-\pgftree@lastchildx=\dimen296
-\pgftree@lastchildy=\dimen297
-))
-(/usr/share/texmf-dist/tex/latex/tikz-qtree/tikz-qtree.tex
-\@result=\toks48
-\child@list=\toks49
-\root@node=\toks50
-))
Package geometry Warning: Over-specification in `h'-direction.
`width' (483.69684pt) is ignored.
@@ -743,24 +637,24 @@ Package geometry Warning: Over-specification in `h'-direction.
(./writeup.aux)
\openout1 = `writeup.aux'.
-LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 56.
-LaTeX Font Info: ... okay on input line 56.
-LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 56.
-LaTeX Font Info: ... okay on input line 56.
-LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 56.
-LaTeX Font Info: ... okay on input line 56.
-LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 56.
-LaTeX Font Info: ... okay on input line 56.
-LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 56.
-LaTeX Font Info: ... okay on input line 56.
-LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 56.
-LaTeX Font Info: ... okay on input line 56.
-LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 56.
-LaTeX Font Info: ... okay on input line 56.
-LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 56.
-LaTeX Font Info: ... okay on input line 56.
-LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 56.
-LaTeX Font Info: ... okay on input line 56.
+LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 65.
+LaTeX Font Info: ... okay on input line 65.
+LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 65.
+LaTeX Font Info: ... okay on input line 65.
+LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 65.
+LaTeX Font Info: ... okay on input line 65.
+LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 65.
+LaTeX Font Info: ... okay on input line 65.
+LaTeX Font Info: Checking defaults for TS1/cmr/m/n on input line 65.
+LaTeX Font Info: ... okay on input line 65.
+LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 65.
+LaTeX Font Info: ... okay on input line 65.
+LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 65.
+LaTeX Font Info: ... okay on input line 65.
+LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 65.
+LaTeX Font Info: ... okay on input line 65.
+LaTeX Font Info: Checking defaults for PU/pdf/m/n on input line 65.
+LaTeX Font Info: ... okay on input line 65.
*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
@@ -796,39 +690,35 @@ LaTeX Font Info: ... okay on input line 56.
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)
-Package hyperref Info: Link coloring OFF on input line 56.
+Package hyperref Info: Link coloring OFF on input line 65.
(./writeup.out) (./writeup.out)
\@outlinefile=\write5
\openout5 = `writeup.out'.
-\c@lstlisting=\count340
-
-(/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
+\c@lstlisting=\count343
+ (/usr/share/texmf-dist/tex/context/base/mkii/supp-pdf.mkii
[Loading MPS to PDF converter (version 2006.09.02).]
-\scratchcounter=\count341
-\scratchdimen=\dimen298
-\scratchbox=\box88
-\nofMPsegments=\count342
-\nofMParguments=\count343
-\everyMPshowfont=\toks51
-\MPscratchCnt=\count344
-\MPscratchDim=\dimen299
-\MPnumerator=\count345
-\makeMPintoPDFobject=\count346
-\everyMPtoPDFconversion=\toks52
+\scratchcounter=\count344
+\scratchdimen=\dimen312
+\scratchbox=\box90
+\nofMPsegments=\count345
+\nofMParguments=\count346
+\everyMPshowfont=\toks53
+\MPscratchCnt=\count347
+\MPscratchDim=\dimen313
+\MPnumerator=\count348
+\makeMPintoPDFobject=\count349
+\everyMPtoPDFconversion=\toks54
) (/usr/share/texmf-dist/tex/latex/epstopdf-pkg/epstopdf-base.sty
Package: epstopdf-base 2020-01-24 v2.11 Base part for package epstopdf
-Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 4
-85.
-
-(/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
-File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
-e
+Package epstopdf-base Info: Redefining graphics rule for `.eps' on input line 485.
+ (/usr/share/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg
+File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
))
LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <14.4> on input line 58.
+(Font) <14.4> on input line 67.
LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <7> on input line 58.
+(Font) <7> on input line 67.
[1
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./writeup.toc
@@ -838,95 +728,103 @@ LaTeX Font Info: External font `cmex10' loaded for size
(Font) <8> on input line 4.
LaTeX Font Info: External font `cmex10' loaded for size
(Font) <6> on input line 4.
-)
+ [2])
\tf@toc=\write6
\openout6 = `writeup.toc'.
- [2] [3] [4] [5]
-Overfull \hbox (8.48462pt too wide) in paragraph at lines 250--251
+ [3] [4] [5] [6]
+Overfull \hbox (8.48462pt too wide) in paragraph at lines 259--260
[]\OT1/cmr/m/n/12 Speed, read-abil-ity, de-bug-ging ease
[]
-Overfull \hbox (2.0985pt too wide) in paragraph at lines 252--255
+Overfull \hbox (2.0985pt too wide) in paragraph at lines 261--264
[]\OT1/cmr/m/n/12 IDE in-te-gra-tion (things like tab com-
[]
-[6]
-Overfull \hbox (0.31256pt too wide) in paragraph at lines 265--266
+[7]
+Overfull \hbox (0.31256pt too wide) in paragraph at lines 274--275
[]\OT1/cmr/m/n/12 I like a
[]
-Overfull \hbox (2.0225pt too wide) in paragraph at lines 270--273
+Overfull \hbox (2.0225pt too wide) in paragraph at lines 279--282
[]\OT1/cmr/m/n/12 I try to use as lit-tle lan-guages
[]
-Overfull \hbox (17.51675pt too wide) in paragraph at lines 274--277
+Overfull \hbox (17.51675pt too wide) in paragraph at lines 283--286
[]\OT1/cmr/m/n/12 I think
[]
-Overfull \hbox (26.90446pt too wide) in paragraph at lines 278--279
+Overfull \hbox (26.90446pt too wide) in paragraph at lines 287--288
[]
[]
-[7{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc}]
-(/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+[8{/usr/share/texmf-dist/fonts/enc/dvips/cm-super/cm-super-ts1.enc}] (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
File: lstlang1.sty 2024/02/21 1.10 listings language file
-)
-(/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+) (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
File: lstlang1.sty 2024/02/21 1.10 listings language file
-)
-(/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
+) (/usr/share/texmf-dist/tex/latex/listings/lstmisc.sty
File: lstmisc.sty 2024/02/21 1.10 (Carsten Heinz)
)
-Package hyperref Info: bookmark level for unknown lstlisting defaults to 0 on i
-nput line 357.
- [8]
-LaTeX Font Info: External font `cmex10' loaded for size
-(Font) <17.28> on input line 400.
+Package hyperref Info: bookmark level for unknown lstlisting defaults to 0 on input line 366.
[9]
-(../code/proto/AST/ast.c [10] [11] [12]) (../code/proto/AST/astg.c) [13]
-(../code/proto/AST/astg.h)
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <17.28> on input line 409.
+ [10] (../code/proto/AST/ast.c [11] [12] [13]) (../code/proto/AST/astg.c) [14] (../code/proto/AST/astg.h)
LaTeX Font Info: Font shape `OT1/cmtt/bx/n' in size <12> not available
-(Font) Font shape `OT1/cmtt/m/n' tried instead on input line 495.
- [14] [15] [16] [17] [18] (../code2/zpy.c [19]
-[20]) (../code2/fileread.c [21]) (../code2/tokenizer.c [22])
-(../code2/appendsnprintf.c [23]) (../code2/comp.c [24] [25] [26] [27] [28]
-[29] [30]) (../code2/util.c) [31] (../code2/fileread.h) (../code2/tokenizer.h)
-(../code2/comp.h) (../code2/appendsnprintf.h) (../code2/util.h) [32]
-(./writeup.aux)
+(Font) Font shape `OT1/cmtt/m/n' tried instead on input line 504.
+ [15] [16] [17] [18] [19]
+Overfull \hbox (44.37247pt too wide) in paragraph at lines 676--678
+[]
+ []
+
+[20] [21] [22] (../code2/zpy.c [23]) (../code2/fileread.c [24]) (../code2/tokenizer.c [25] [26]) (../code2/appendsnprintf.c [27]) (../code2/comp.c [28] [29] [30] [31] [32] [33]) [34] (../code2/util.c) (../code2/fileread.h) [35] (../code2/tokenizer.h) (../code2/comp.h) (../code2/appendsnprintf.h) (../code2/util.h) (../code2/Makefile
+LaTeX Font Info: Trying to load font information for TS1+cmtt on input line 5.
+ (/usr/share/texmf-dist/tex/latex/base/ts1cmtt.fd
+File: ts1cmtt.fd 2023/04/13 v2.5m Standard LaTeX font definitions
+) [36]) (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2024/02/21 1.10 listings language file
+) (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2024/02/21 1.10 listings language file
+) (../code2/zpypkg/zpypkg.sh [37] [38]) (../code2/stdlib/zpylib.c [39]) (../code2/stdlib/String/String.c [40] [41]) [42] (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2024/02/21 1.10 listings language file
+) (/usr/share/texmf-dist/tex/latex/listings/lstlang2.sty
+File: lstlang2.sty 2024/02/21 1.10 listings language file
+) (../code2/examples/fib_example.zpy) [43] (./examples/fib.example) (/usr/share/texmf-dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2024/02/21 1.10 listings language file
+) (./examples/fib.py)
+LaTeX Font Info: Font shape `OT1/cmss/m/it' in size <12> not available
+(Font) Font shape `OT1/cmss/m/sl' tried instead on input line 940.
+ [44] (./examples/str_example.zpy) (./examples/string.example) [45] (./examples/zpypkg.example) (./examples/spaceinvaders.zpy [46] [47] [48])
+<./examples/spaceinvaders.png, id=2028, 1284.8pt x 803.0pt>
+File: ./examples/spaceinvaders.png Graphic file (type png)
+<use ./examples/spaceinvaders.png>
+Package pdftex.def Info: ./examples/spaceinvaders.png used on input line 993.
+(pdftex.def) Requested size: 483.69687pt x 302.31277pt.
+ [49] [50 <./examples/spaceinvaders.png>] [51] [52] [53] (./writeup.aux)
***********
LaTeX2e <2023-11-01> patch level 1
L3 programming layer <2024-02-20>
***********
Package rerunfilecheck Info: File `writeup.out' has not changed.
-(rerunfilecheck) Checksum: EC9E124D52F403C09C503D53CC7A8E26;6863.
+(rerunfilecheck) Checksum: 0EFEAF2FCE48510C0EE209BE8EF9EC76;12692.
)
Here is how much of TeX's memory you used:
- 34252 strings out of 476076
- 729071 string characters out of 5793774
- 2372187 words of memory out of 5000000
- 54943 multiletter control sequences out of 15000+600000
- 565524 words of font info for 61 fonts, out of 8000000 for 9000
+ 37613 strings out of 476076
+ 782188 string characters out of 5793774
+ 2379187 words of memory out of 5000000
+ 57618 multiletter control sequences out of 15000+600000
+ 566833 words of font info for 65 fonts, out of 8000000 for 9000
14 hyphenation exceptions out of 8191
- 98i,9n,101p,1606b,2370s stack positions out of 10000i,1000n,20000p,200000b,200000s
-</usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share/
-texmf-dist/fonts/type1/public/amsfonts/cm/cmbxti10.pfb></usr/share/texmf-dist/f
-onts/type1/public/amsfonts/cm/cmmi12.pfb></usr/share/texmf-dist/fonts/type1/pub
-lic/amsfonts/cm/cmr10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm
-/cmr12.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb></us
-r/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb></usr/share/texmf-di
-st/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texmf-dist/fonts/type1
-/public/amsfonts/cm/cmti12.pfb></usr/share/texmf-dist/fonts/type1/public/amsfon
-ts/cm/cmtt10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt12.p
-fb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb>
-Output written on writeup.pdf (32 pages, 269626 bytes).
+ 98i,9n,101p,1606b,2621s stack positions out of 10000i,1000n,20000p,200000b,200000s
+</usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmbxti10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr17.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmr6.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmss12.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmssi12.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmti12.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb></usr/share/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt12.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sfrm1200.pfb></usr/share/texmf-dist/fonts/type1/public/cm-super/sftt1000.pfb>
+Output written on writeup.pdf (53 pages, 400225 bytes).
PDF statistics:
- 1495 PDF objects out of 1728 (max. 8388607)
- 1422 compressed objects within 15 object streams
- 943 named destinations out of 1000 (max. 500000)
- 333 words of extra memory for PDF output out of 10000 (max. 10000000)
+ 2462 PDF objects out of 2487 (max. 8388607)
+ 2350 compressed objects within 24 object streams
+ 1531 named destinations out of 1728 (max. 500000)
+ 658 words of extra memory for PDF output out of 10000 (max. 10000000)
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.out b/comp/lucas-standen-NEA/writeup2/writeup.out
index 046c4bc..3cf1da9 100644
--- a/comp/lucas-standen-NEA/writeup2/writeup.out
+++ b/comp/lucas-standen-NEA/writeup2/writeup.out
@@ -36,5 +36,45 @@
\BOOKMARK [2][-]{subsection.5.5}{\376\377\000T\000h\000e\000\040\000s\000t\000e\000p\000s\000\040\000i\000n\000\040\000c\000o\000m\000p\000i\000l\000i\000n\000g\000\040\000a\000\040\000z\000i\000p\000p\000y\000\040\000p\000r\000o\000g\000r\000a\000m}{section.5}% 36
\BOOKMARK [3][-]{subsubsection.5.5.1}{\376\377\000C\000o\000n\000v\000e\000r\000t\000i\000n\000g\000\040\000z\000i\000p\000p\000y\000\040\000t\000o\000\040\000C}{subsection.5.5}% 37
\BOOKMARK [2][-]{subsection.5.6}{\376\377\000A\000c\000t\000u\000a\000l\000l\000y\000\040\000u\000s\000i\000n\000g\000\040\000z\000i\000p\000p\000y}{section.5}% 38
-\BOOKMARK [1][-]{section.6}{\376\377\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n}{}% 39
-\BOOKMARK [2][-]{subsection.6.1}{\376\377\000H\000e\000a\000d\000e\000r\000\040\000f\000i\000l\000e\000s}{section.6}% 40
+\BOOKMARK [2][-]{subsection.5.7}{\376\377\000M\000o\000d\000e\000l\000l\000i\000n\000g\000\040\000t\000h\000e\000\040\000c\000o\000m\000p\000i\000l\000a\000t\000i\000o\000n\000\040\000p\000r\000o\000c\000e\000s\000s}{section.5}% 39
+\BOOKMARK [2][-]{subsection.5.8}{\376\377\000M\000o\000d\000e\000l\000l\000i\000n\000g\000\040\000d\000a\000t\000a\000\040\000s\000t\000r\000u\000c\000t\000u\000r\000e\000s\000\040\000I\000\040\000w\000i\000l\000l\000\040\000u\000s\000e}{section.5}% 40
+\BOOKMARK [3][-]{subsubsection.5.8.1}{\376\377\000A\000s\000t\000N\000o\000d\000e}{subsection.5.8}% 41
+\BOOKMARK [3][-]{subsubsection.5.8.2}{\376\377\000A\000r\000r\000a\000y\000\040\000l\000i\000s\000t}{subsection.5.8}% 42
+\BOOKMARK [2][-]{subsection.5.9}{\376\377\000W\000h\000y\000\040\000s\000o\000\040\000f\000e\000w\000?}{section.5}% 43
+\BOOKMARK [1][-]{section.6}{\376\377\000I\000m\000p\000l\000e\000m\000e\000n\000t\000a\000t\000i\000o\000n}{}% 44
+\BOOKMARK [2][-]{subsection.6.1}{\376\377\000H\000e\000a\000d\000e\000r\000\040\000f\000i\000l\000e\000s}{section.6}% 45
+\BOOKMARK [2][-]{subsection.6.2}{\376\377\000T\000h\000e\000\040\000C\000\040\000l\000i\000n\000k\000i\000n\000g\000\040\000p\000r\000o\000c\000e\000s\000s}{section.6}% 46
+\BOOKMARK [2][-]{subsection.6.3}{\376\377\000Z\000p\000y\000p\000k\000g}{section.6}% 47
+\BOOKMARK [2][-]{subsection.6.4}{\376\377\000Z\000p\000y\000l\000i\000b}{section.6}% 48
+\BOOKMARK [2][-]{subsection.6.5}{\376\377\000O\000t\000h\000e\000r\000\040\000l\000i\000b\000r\000a\000r\000i\000e\000s}{section.6}% 49
+\BOOKMARK [1][-]{section.7}{\376\377\000T\000e\000s\000t\000i\000n\000g}{}% 50
+\BOOKMARK [2][-]{subsection.7.1}{\376\377\000I\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{section.7}% 51
+\BOOKMARK [2][-]{subsection.7.2}{\376\377\000F\000i\000b\000o\000n\000a\000c\000c\000i}{section.7}% 52
+\BOOKMARK [3][-]{subsubsection.7.2.1}{\376\377\000C\000o\000d\000e}{subsection.7.2}% 53
+\BOOKMARK [3][-]{subsubsection.7.2.2}{\376\377\000D\000e\000m\000o}{subsection.7.2}% 54
+\BOOKMARK [3][-]{subsubsection.7.2.3}{\376\377\000P\000e\000r\000f\000o\000r\000m\000a\000n\000c\000e}{subsection.7.2}% 55
+\BOOKMARK [2][-]{subsection.7.3}{\376\377\000S\000t\000r\000i\000n\000g\000\040\000s\000p\000l\000i\000t\000t\000i\000n\000g}{section.7}% 56
+\BOOKMARK [3][-]{subsubsection.7.3.1}{\376\377\000C\000o\000d\000e}{subsection.7.3}% 57
+\BOOKMARK [3][-]{subsubsection.7.3.2}{\376\377\000O\000u\000t\000p\000u\000t}{subsection.7.3}% 58
+\BOOKMARK [3][-]{subsubsection.7.3.3}{\376\377\000E\000x\000p\000l\000a\000i\000n\000i\000n\000g}{subsection.7.3}% 59
+\BOOKMARK [2][-]{subsection.7.4}{\376\377\000z\000p\000y\000p\000k\000g\000\040\000e\000x\000a\000m\000p\000l\000e}{section.7}% 60
+\BOOKMARK [3][-]{subsubsection.7.4.1}{\376\377\000U\000s\000i\000n\000g\000\040\000z\000p\000y\000p\000k\000g}{subsection.7.4}% 61
+\BOOKMARK [2][-]{subsection.7.5}{\376\377\000S\000p\000a\000c\000e\000\040\000i\000n\000v\000a\000d\000e\000r\000s}{section.7}% 62
+\BOOKMARK [3][-]{subsubsection.7.5.1}{\376\377\000B\000a\000c\000k\000g\000r\000o\000u\000n\000d}{subsection.7.5}% 63
+\BOOKMARK [3][-]{subsubsection.7.5.2}{\376\377\000C\000o\000d\000e}{subsection.7.5}% 64
+\BOOKMARK [3][-]{subsubsection.7.5.3}{\376\377\000S\000e\000e\000i\000n\000g\000\040\000i\000t\000\040\000g\000o}{subsection.7.5}% 65
+\BOOKMARK [1][-]{section.8}{\376\377\000E\000v\000a\000l\000u\000a\000t\000i\000o\000n}{}% 66
+\BOOKMARK [2][-]{subsection.8.1}{\376\377\000C\000o\000r\000e\000\040\000o\000b\000j\000e\000c\000t\000i\000v\000e\000s}{section.8}% 67
+\BOOKMARK [2][-]{subsection.8.2}{\376\377\000E\000x\000t\000r\000a\000\040\000o\000b\000j\000e\000c\000t\000i\000v\000e\000s}{section.8}% 68
+\BOOKMARK [2][-]{subsection.8.3}{\376\377\000C\000o\000m\000p\000a\000r\000i\000n\000g\000\040\000t\000h\000e\000\040\000g\000o\000a\000l\000s\000\040\000t\000o\000\040\000t\000h\000e\000\040\000p\000r\000o\000d\000u\000c\000t}{section.8}% 69
+\BOOKMARK [3][-]{subsubsection.8.3.1}{\376\377\000A\000\040\000c\000o\000m\000p\000i\000l\000e\000r\000\040\000f\000o\000r\000\040\000t\000h\000e\000\040\000Z\000i\000p\000p\000y\000\040\000l\000a\000n\000g\000u\000a\000g\000e}{subsection.8.3}% 70
+\BOOKMARK [3][-]{subsubsection.8.3.2}{\376\377\000A\000S\000T\000'\000s\000\040\000u\000s\000e\000d\000\040\000t\000o\000\040\000c\000o\000m\000p\000i\000l\000e\000\040\000s\000o\000u\000r\000c\000e\000\040\000c\000o\000d\000e}{subsection.8.3}% 71
+\BOOKMARK [3][-]{subsubsection.8.3.3}{\376\377\000A\000\040\000l\000i\000s\000p\000\040\000l\000i\000k\000e\000\040\000s\000y\000n\000t\000a\000x}{subsection.8.3}% 72
+\BOOKMARK [3][-]{subsubsection.8.3.4}{\376\377\000F\000u\000n\000c\000t\000i\000o\000n\000a\000l\000\040\000p\000a\000r\000a\000d\000i\000g\000m\000\040\000l\000a\000n\000g\000u\000a\000g\000e}{subsection.8.3}% 73
+\BOOKMARK [3][-]{subsubsection.8.3.5}{\376\377\000R\000e\000c\000u\000r\000s\000i\000o\000n}{subsection.8.3}% 74
+\BOOKMARK [3][-]{subsubsection.8.3.6}{\376\377\000H\000i\000g\000h\000e\000r\000\040\000o\000r\000d\000e\000r\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000s}{subsection.8.3}% 75
+\BOOKMARK [3][-]{subsubsection.8.3.7}{\376\377\000A\000\040\000h\000i\000g\000h\000\040\000p\000e\000r\000f\000o\000r\000m\000a\000n\000c\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e}{subsection.8.3}% 76
+\BOOKMARK [3][-]{subsubsection.8.3.8}{\376\377\000A\000\040\000p\000a\000c\000k\000a\000g\000e\000\040\000m\000a\000n\000a\000g\000e\000r}{subsection.8.3}% 77
+\BOOKMARK [3][-]{subsubsection.8.3.9}{\376\377\000A\000b\000i\000l\000i\000t\000y\000\040\000t\000o\000\040\000c\000a\000l\000l\000\040\000C\000\040\000f\000u\000n\000c\000t\000i\000o\000n\000s}{subsection.8.3}% 78
+\BOOKMARK [2][-]{subsection.8.4}{\376\377\000T\000h\000o\000u\000g\000h\000t\000s\000\040\000o\000n\000\040\000t\000h\000e\000\040\000c\000o\000r\000e\000\040\000o\000b\000j\000e\000c\000t\000i\000v\000e\000s}{section.8}% 79
+\BOOKMARK [2][-]{subsection.8.5}{\376\377\000E\000x\000t\000r\000a\000\040\000o\000b\000j\000e\000c\000t\000i\000v\000e\000s}{section.8}% 80
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.synctex.gz b/comp/lucas-standen-NEA/writeup2/writeup.synctex.gz
new file mode 100644
index 0000000..876521a
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/writeup.synctex.gz
Binary files differ
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.tex b/comp/lucas-standen-NEA/writeup2/writeup.tex
index df0ac72..e36fbc3 100644
--- a/comp/lucas-standen-NEA/writeup2/writeup.tex
+++ b/comp/lucas-standen-NEA/writeup2/writeup.tex
@@ -8,8 +8,10 @@
\usepackage{listings}
\usepackage{xcolor}
\usepackage{graphicx}
+\usepackage[export]{adjustbox}
\usepackage{forest}
\usepackage{tikz-qtree}
+\usepackage{bchart}
\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
@@ -38,6 +40,13 @@
\lstset{style=mystyle}
+\tikzstyle{startstop} = [rectangle, rounded corners, minimum width=3cm, minimum height=1cm,text centered, draw=black, fill=red!30]
+\tikzstyle{io} = [trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=0cm, minimum height=1cm, text centered, draw=black, fill=blue!30]
+\tikzstyle{process} = [rectangle, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=orange!30]
+\tikzstyle{subroutine} = [rectangle, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=yellow!30, double distance=1]
+\tikzstyle{decision} = [diamond, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill=green!30]
+\tikzstyle{arrow} = [thick,->,>=stealth]
+
\titleformat{\section}
{\Huge}
{}
@@ -524,7 +533,8 @@ many uses.
\item[A package manager]
\item[Ability to call C functions]
\end{description}
-If possible I would like Zippy to also meet the following extra objectives
+If possible I would like Zippy to also meet the following extra objectives. While not needed to make the project
+usable, it will make it far nicer to work with.
\subsection{Extra objectives}
\begin{description}
\item[String parsing in the stdlib]
@@ -627,7 +637,7 @@ and a template executable. It will be a very simple tool, that copies needed fil
it will be written using Bash, (the main scripting language used by unix, along with sh and perl). It will have the
following arguments to allow the programmer to quickly write zippy code.
-\begin{description}
+C\begin{description}
\item[init] this will initialize the package manager, creating the needed files.
\item[advinit] this is an advanced form of init, it will set things up to have interoperability with C.
\item[build] this command can be used from within a zippy project directory, and will build the project into an executable.
@@ -636,13 +646,101 @@ following arguments to allow the programmer to quickly write zippy code.
\item[remove] this will remove zpypkg from the current directory (think of it like a de-init).
\end{description}
+\subsection{Modelling the compilation process}
+\begin{tikzpicture}[node distance=2cm]
+ \node (start) [startstop] {Start};
+
+ \node (in1) [io, below of=start] {Read in command line arguments};
+ \node (proc1) [process, below of=in1] {Set global variables based on command line arguments};
+ \node (in2) [io, below of=proc1] {Read input file into an array of strings};
+ \node (proc2) [process, below of=in2] {Convert line to an AST containing relevant info};
+ \node (proc3) [process, below of=proc2] {Convert AST into C code};
+ \node (out1) [io, below of=proc3] {Output C code to file};
+ \node (dec1) [decision, below of=out1, yshift=-1cm] {Is end of file?};
+ \node (proc4) [io, right of=dec1, xshift=6cm] {Load next line for processing};
+ \node (out2) [io, below of=dec1, yshift=-1cm] {Use C compiler on output file};
+
+ \node (end) [startstop, below of=out2] {End};
+
+ \draw [arrow] (start) -- (in1);
+ \draw [arrow] (in1) -- (proc1);
+ \draw [arrow] (proc1) -- (in2);
+ \draw [arrow] (in2) -- (proc2);
+ \draw [arrow] (proc2) -- (proc3);
+ \draw [arrow] (proc3) -- (out1);
+ \draw [arrow] (out1) -- (dec1);
+ \draw [arrow] (dec1) -- (out2);
+ \draw [arrow] (out2) -- (end);
+ \draw [arrow] (dec1) -- (proc4);
+ \draw [arrow] (proc4) |- (proc2);
+\end{tikzpicture}
+This is a high level diagram of what will go on in my code, with each box corresponding to around 1 function.
+
+\subsection{Modelling data structures I will use}
+\subsubsection{AstNode}
+\begin{tikzpicture}
+ \tikzset{edge from parent/.style={draw,edge from parent path={(\tikzparentnode.south)-- +(0,-8pt)-| (\tikzchildnode)}}}
+ \Tree
+ [.astNode
+ [.function
+ ]
+ [.arguments[8]
+ ]
+ [.children[8]
+ [.function
+ ]
+ [.arguments[8]
+ ]
+ [.children[8]
+ [.function
+ ]
+ [.arguments[8]
+ ]
+ [.children[8]
+ [....
+ ]
+ ]
+ ]
+ ]
+ ]
+\end{tikzpicture}
+\\
+This is the main data structure that powers the compiler, it takes a fuction name as a string, an array of 8 arguments as
+strings, and an array of 8 children as astNodes. The fuction argument will be the first word of a line of Zippy, it is the
+name of the function. The argument variables are each litteral argument, such as a string or integer litteral that is given
+to the fuction, this can be empty. The children argument contain more astNode, they are arguments that are given in the
+form of functions, for example (printint (+ 2 2)), would result in (+ 2 2) having its own astNode made, and put as the child
+of the (printint) astNode.
+
+\subsubsection{Array list}
+\begin{tikzpicture}
+ \tikzset{edge from parent/.style={draw,edge from parent path={(\tikzparentnode.south)-- +(0,-8pt)-| (\tikzchildnode)}}}
+ \Tree
+ [.arrayList
+ [.data[length]
+ ]
+ [.length
+ ]
+ ]
+\end{tikzpicture}
+\\
+This is a far simpler data structure, it is useful in languages such as C, C++ and rust to represent non fixed length
+arrays. This is because in these languages arrays are stored as continous bytes in memory, making it hard to tell where
+they end. An array list is a data structure that store the array with an interger value of the length, thus making it
+so one knows how long the list is. This is important to avoid runtime errors such as segmentation faults, caused by
+reading out of bounds memory.
+
+\subsection{Why so few?}
+It was an intentional choice to uses so few data structures, in languages like C, where OOP is not possible,
+the importance of bundling data is far smaller, with arrays and variables being far more useful than anything
+else; they have faster runtime speeds and a cleaner syntax that makes them preferable. One will find alot of
+C projects will follow this phylosophy, as it generally leads to better projects.
+
\section{Implementation}
As has been previously mentioned, zippy will have its compiler written in C and its package manager writen in bash.
The code will be displayed bellow, it has been commented to use a tool I wrote called autodoc, which can function
like a doc-string in python, after each file I will explain in detail what it does and why it is in its own file.
-PUT A LIST OF FILES HERE
-
\lstinputlisting[language=C++]{../code2/zpy.c}
\textit{zpy.c}
@@ -717,7 +815,287 @@ This file defines a smaller helper function, which is used in the main executabl
\lstinputlisting[language=C++]{../code2/util.h}
\textit{util.h}
+These files are used internally to allow for the linking of C code to function properly; see the following section for
+more info on the C linking process.
+
+\subsection{The C linking process}
+When one writes C code, it is first compiled by a compiler, in most cases this is a compiler like GCC, or clang.
+These will convert the C code into ASM, (sometimes through a middle man language to make compiling for many systems
+easier), which then gets assembled into an object file. These object files are not executable, in this state they
+are libraries that can be used in other code. To make them executable they must be linked with the C stdlib and any
+other used binary files; this is done by the linker. The linker will take the list of symbols defined in the object file,
+each symbol will correspond to one function in C. It will also take all the symbols in the libarys that the code is linked
+with. This means common libraries only need to be compiled once, and the linker can take pre compiled binarys.
+
+In this project, each .c file is converted to a .o file (an object file), and then the linker will link all of them together
+to produce the final executable.
+
+To automate the process of compiling and linking, I've used a make file, a build tool which can have multiple functions defined
+that will compile all the given code. Here is makefile:
+
+\lstinputlisting[language=C++]{../code2/Makefile}
+
+This may look confusing, however its goal is very simple, each label (which are denoted with a ':') is a function
+that can be run, the 'all' function is an omni function ran when the user types in 'make' with no arguments, whereas the others
+can be called with 'make install' and 'make clean'. The .c.o label is special, it compiles every C file, to a .o file, this is a
+shorthand syntax, that isn't very readable, but is easy to use. The .PHONY function is another special option, this is used to ensure
+autocomplete works in the terminal when typing the make commands. Finally the variables defined at the top, are used to define compiler
+options. In this case, im using -O3, which tells the compiler to perform the maximum optimisations to my code. Ensuring the compiler is
+fast.
+
+\subsection{Zpypkg}
+To make the package manager, I will be using bash to generate simple build scripts and default files. The tool doesn't need to do too
+much it just needs to make it easier to initialize a project. It will not use networking in any way, instead, it will leave it up
+to the programmer, so they can use any protocol or tool they like, such as git.
+
+The code for zpypkg can be seen below.
+\lstinputlisting[language=Bash]{../code2/zpypkg/zpypkg.sh}
+\textit{zpypkg.sh}
+
+This code is very simple, it can create a default main.zpy file and a zpybuild.sh file that can be used to compile a zpy project
+in one instruction. It also has build and run functions to allow the developer to quickly produce and run up to date binaries.
+
+\subsection{Zpylib}
+The language needs a simple standard library that will handle the simple IO functions, this is by no means perfect but it is a
+good enough base, that it can be easily extended to a full project.
+\lstinputlisting[language=C++]{../code2/stdlib/zpylib.c}
+\textit{zpylib.c}
+
+These functions for the most part are a wrapper around the c stdlib, which is what makes them such a good base to use.
+
+\lstinputlisting[language=C++]{../code2/stdlib/String/String.c}
+\textit{String.c}
+
+These functions will create a simple object oriented style development for the use of strings, allowing the user to split, create,
+destroy and insert into strings. This library allows the user to easily make parsers and other such string related tools.
+
+\subsection{Other libraries}
+While I haven't ported or made any other libraries for zpy, this doesn't mean they can't be used, as long as a library can be linked
+with C code (see the linking section above for more info), it can be used within zpy, and any function in the C stdlib is already
+available to use. I will use this later in my examples to use the raylib graphics library.
+
+\section{Testing}
+\subsection{Introduction}
+To test zpy, I have made a few sections of example code, to test that the compiler can indeed convert code to C. I decided I would
+test the following
+\begin{description}
+ \item[Recursive Fibonacci program] A simple program that will calculate the n'th Fibonacci number
+ \item[String splitting] A small program that splits a string, to test the string processing class
+ \item[A incorrect program] To test the languages error messages
+ \item[A hello world program using zpypkg] To test that zpypkg can be used to manage projects
+ \item[Space invaders] Using the raylib graphics library, I will build a clone of space invaders
+\end{description}
+\subsection{Fibonacci}
+The N'th number in the Fibonacci sequence can be calculated by adding the previous 2 numbers in the sequence, and assuming the first
+2 numbers are both 1.
+
+For example here is the first few digits:
+
+\(1, 1, 2, 3, 5, 8, 13, 21\)
+
+\subsubsection{Code}
+In zpy this code can be written as follows:
+
+\lstinputlisting[language=lisp]{../code2/examples/fib_example.zpy}
+\textit{fib\_example.zpy}
+
+A simple explanation of what is happening in this code is,
+
+\begin{description}
+ \item[] I make a function called fib, that returns an int, and takes an int called \(n\) in as input
+ \item[] I create a base case using the if statement, comparing if \(n < 2\)
+ \item[] I return the value of \(n\) if it is less than 2
+ \item[] Otherwise I return the sum of the previous to values in the sequence
+
+ \item[] I then define a main function that is marked as returning an int, this is where execution of the
+ program begins
+ \item[] I prompt the user for an input and read it in as an integer
+ \item[] I perform the fib calculation and print the value
+\end{description}
+
+
+\subsubsection{Demo}
+\lstinputlisting{./examples/fib.example}
+
+55 is indeed the 10th Fibonacci number.
+
+The following python code produces the same output
+
+\lstinputlisting[language=python]{./examples/fib.py}
+\textit{fib.py}
+
+\subsubsection{Performance}
+The zippy code is orders of magnitude faster than the python code, the time command in Unix can be used to show this.
+
+\begin{center}
+\small{\textit{A table comparing the performace of zippy and python, when finding the 30'th Fibonacci number.}}
+\end{center}
+\begin{center}
+\begin{bchart}[max=0.4]
+ \bcbar[label=Zippy, color=yellow]{0.02}
+ \smallskip
+ \bcbar[label=Python, color=blue]{0.339}
+ \smallskip
+ \bcxlabel{time in seconds \textit{lower is better}}
+\end{bchart}
+\end{center}
+
+\subsection{String splitting}
+\subsubsection{Code}
+The following code is a simple example of string splitting in zpy, using the standard library. All it does
+is split the string hello\_world into the substrings of hello and world, using the \_ as a delimiter.
+\lstinputlisting[language=lisp]{./examples/str_example.zpy}
+\textit{str\_example.zpy}
+
+The code is in 3 main sections:
+\begin{description}
+ \item[] Defining the starting string
+ \item[] Splitting the string
+ \item[] Cleaning up the memory
+\end{description}
+\subsubsection{Output}
+\lstinputlisting{./examples/string.example}
+\subsubsection{Explaining}
+The cleaning of the memory isn't strictly needed in this situation, as it will be freed automatically when
+the program ends. As Zippy is closely related to C, this is still a needed feature for the program to be
+safe, however code written in Zippy has some extra safety features, such as auto freeing of memory when
+a function finishes. However as that feature only works on memory allocated with \((alloc)\), freeing must be done
+manually for other things, such as the string library.
+
+\subsection{zpypkg example}
+To use zpypkg I wanted it to be very easy, and hassle free. Other packaging tools like cargo, require entire
+projects to be built with them in mind, this forces a specific project structure that isn't tuned to all use
+cases. I believe that \(Go\) hits the mark on a good packaging tool, it is clean, small and out of the way,
+simply providing automated builds and running of the code.
+\subsubsection{Using zpypkg}
+\lstinputlisting[language=bash]{./examples/zpypkg.example}
+Its as simple as that! Out of the way, and customizable via the build.sh file that zpypkg generates.
+
+\subsection{Space invaders}
+\subsubsection{Background}
+To build a small space invaders game, I'm going to use the raylib graphics library
+(\url{https://www.raylib.com/})
+based on GLFW. It is well known and over 10 years old at this point, it is fast, supports most devices and
+operating systems under the sun, and is written in C for C, and due to this, it is also compatible with Zippy!
+\subsubsection{Code}
+\lstinputlisting[language=lisp]{./examples/spaceinvaders.zpy}
+\textit{spaceinvaders.zpy}
+
+While this may look like a large amount of code, it is actually quite simple, it opens a window, starts a loop, if
+the player shoots the alien it takes damage, if the alien has taken enough damage the game ends, and if the alien
+reaches the ground the player loses. For simplicity's sake, the program uses exit codes to establish what the outcome
+of the game was, this can be checked on a Unix like system like so: echo \$?. For this game, if this returns a 0, the
+player has one, otherwise the alien enemy has won
+\subsubsection{Seeing it go}
+Bellow is a screenshot of the game working, its graphics are minimal to say the least, but it does prove Zippy can be
+used with C libraries.
+
+\includegraphics[width=\textwidth, left]{./examples/spaceinvaders.png}
+\textit{The player is green, The alien is red}
+
+\section{Evaluation}
+At this stage in my project, I have created a full project, and now I need to compare it to my original goals.
+
+Here is a copy of my original goals to avoid needing to flick between many points.
+\subsection{Core objectives}
+\begin{description}
+ \item[A compiler for the Zippy language]
+ \item[AST's used to compile source code]
+ \item[A lisp like syntax]
+ \item[Functional paradigm language]
+ \item[Recursion]
+ \item[Higher order functions] \textit{(this means functions can be passed as arguments to
+ other functions)}
+ \item[High performance language]
+ \item[A package manager]
+ \item[Ability to call C functions]
+\end{description}
+\subsection{Extra objectives}
+\begin{description}
+ \item[String parsing in the stdlib]
+ \item[graphs in the stdlib]
+ \item[networking in the stdlib]
+ \item[graphics in the stdlib]
+\end{description}
+
+\subsection{Comparing the goals to the product}
+In order I will evaluate and show where and how these came to be.
+
+\subsubsection{A compiler for the Zippy language}
+This was the main goal of the project and I achieved this perfectly as planned, the compiler generates C code that runs
+quickly and efficiently with extra safety features. This is a language that is less dangerous that C, while keeping the
+same performance.
+
+This goal was fully met.
+
+\subsubsection{AST's used to compile source code}
+This was a goal for the internal design of the project, and I achieved this too with my ast\_node tree data structure,
+it made the rest of the compilation process far easier as there was less worry for passing data around in random ways.
+
+This goal was fully met.
+
+\subsubsection{A lisp like syntax}
+This goal was also met thanks to the advanced tokeniser I wrote that is capable of generating AST's from individual lines
+of Zippy, you can see this first hand when you look at the use of parentheses in the language.
+
+This goal was fully met.
+
+\subsubsection{Functional paradigm language}
+This goal is more up to argument, as to weather I achieved it or not. The language definitely has many features from functional
+programming, however none of them are enforced, making it harder to achieve the benefits. In terms of paradigm I feel Zippy
+fell closer to imperative, but one should note Zippy does support all major functional features, such as higher order functions and
+recursion. Functional programming really shows its benefits when it is used exclusively, which isn't done in zippy, however with
+determination, one could definitely use Zippy in the same way one uses Lisp.
+
+This goal was met, however not to the fullest.
+
+\subsubsection{Recursion}
+As zippy is dependant on C, it can support any feature C can out the box, and C is perfectly capable of using advanced recursive
+algorithms.
+
+This goal was fully met.
+
+\subsubsection{Higher order functions}
+To achieve this goal I created the \((defunptr)\) keyword which allows the programmer to pass a function as a pointer from within
+a struct or variable. I find this to be a very elegant way of implementing higher order functions, as it is very simple for
+low level development, which is where Zippy lies on the tech stack.
+
+This goal was fully met.
+
+\subsubsection{A high performance language}
+As it was previously seen in the examples section, zippy has been able to crush python, and for me this was enough. For most
+use cases python is fast enough, and thus zippy being faster means it will never be too slow.
+
+This goal was fully met.
+
+\subsubsection{A package manager}
+I believe zpypkg was exactly what I wanted to make, it is small fast and too the point, it doesn't get in the programmers way
+like larger tools available.
+
+This goal was fully met.
+
+\subsubsection{Ability to call C functions}
+Zippy is fully able to call C functions and I even created a keyword to define prototypes for them \((symbol)\), this made
+it very easy to call C functions when needed, however it is not needed, as the linker is what puts in most the work to
+achieve this.
+
+This goal was fully met.
+
+\subsection{Thoughts on the core objectives}
+I believe that I have hit all of my core objectives well enough to define my project as complete, I have made a programming
+language that I would happily use for many projects, with it supporting all the features I could need. Although if I had more
+time there are some things I would have liked to add, notable a more full standard library, as of current Zippy is reliant
+on the C stdlib and many of its downsides have been passed over into Zippy.
+
+\subsection{Extra objectives}
+While these were optional, I still took the liberty of making them to make a more achieved project. I did not complete them
+all due to time constraints. I made string parsing and graphics available in the standard library, via the string functions
+previously shown, and linking with the raylib graphics library.
+
+One could argue that all of these things are possible, as it is possible to link with a pre existing library to do the work
+for you, but in some ways that cheating, and also won't work for libraries written in c++.
}
+
\end{document}
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.toc b/comp/lucas-standen-NEA/writeup2/writeup.toc
index 2527ec9..31beff9 100644
--- a/comp/lucas-standen-NEA/writeup2/writeup.toc
+++ b/comp/lucas-standen-NEA/writeup2/writeup.toc
@@ -1,41 +1,81 @@
\babel@toc {english}{}\relax
-\contentsline {section}{\numberline {1}A breif head note and introduction}{3}{section.1}%
-\contentsline {section}{\numberline {2}Analysis}{3}{section.2}%
-\contentsline {subsection}{\numberline {2.1}The current problem}{3}{subsection.2.1}%
-\contentsline {subsection}{\numberline {2.2}A solution}{3}{subsection.2.2}%
-\contentsline {subsection}{\numberline {2.3}What is a programming language}{4}{subsection.2.3}%
-\contentsline {subsubsection}{\numberline {2.3.1}A very simple explanation}{4}{subsubsection.2.3.1}%
-\contentsline {subsubsection}{\numberline {2.3.2}Why are there so many}{4}{subsubsection.2.3.2}%
-\contentsline {subsection}{\numberline {2.4}Researching and getting a scope of the project}{4}{subsection.2.4}%
-\contentsline {subsubsection}{\numberline {2.4.1}Examples of older similar projects}{4}{subsubsection.2.4.1}%
-\contentsline {subsubsection}{\numberline {2.4.2}Examples of newer similar projects}{5}{subsubsection.2.4.2}%
-\contentsline {subsubsection}{\numberline {2.4.3}What should be taken away from these languages}{5}{subsubsection.2.4.3}%
-\contentsline {subsection}{\numberline {2.5}Clients}{6}{subsection.2.5}%
-\contentsline {subsubsection}{\numberline {2.5.1}Client 1: Amy C}{6}{subsubsection.2.5.1}%
-\contentsline {subsubsection}{\numberline {2.5.2}Client 2: Rayn M}{6}{subsubsection.2.5.2}%
-\contentsline {subsubsection}{\numberline {2.5.3}Client 3: Myself}{6}{subsubsection.2.5.3}%
-\contentsline {subsection}{\numberline {2.6}Questionnaires}{6}{subsection.2.6}%
-\contentsline {subsubsection}{\numberline {2.6.1}Amy C, initial ideas}{6}{subsubsection.2.6.1}%
-\contentsline {subsubsection}{\numberline {2.6.2}Notes from questionnare 1}{7}{subsubsection.2.6.2}%
-\contentsline {subsection}{\numberline {2.7}The first elements of the project}{7}{subsection.2.7}%
-\contentsline {section}{\numberline {3}Modelling}{8}{section.3}%
-\contentsline {subsection}{\numberline {3.1}Linked lists}{8}{subsection.3.1}%
-\contentsline {subsection}{\numberline {3.2}Dictionaries}{9}{subsection.3.2}%
-\contentsline {subsection}{\numberline {3.3}Prototyping harder features}{9}{subsection.3.3}%
-\contentsline {subsubsection}{\numberline {3.3.1}Abstract syntax trees (AST's) theory}{9}{subsubsection.3.3.1}%
-\contentsline {subsubsection}{\numberline {3.3.2}Abstract syntax trees (AST's) practical}{10}{subsubsection.3.3.2}%
-\contentsline {subsection}{\numberline {3.4}Feedback}{15}{subsection.3.4}%
-\contentsline {subsection}{\numberline {3.5}Mixing linked lists and AST's}{15}{subsection.3.5}%
-\contentsline {section}{\numberline {4}Objectives}{15}{section.4}%
-\contentsline {subsection}{\numberline {4.1}Core objectives}{15}{subsection.4.1}%
-\contentsline {subsection}{\numberline {4.2}Extra objectives}{16}{subsection.4.2}%
-\contentsline {section}{\numberline {5}Design}{16}{section.5}%
-\contentsline {subsection}{\numberline {5.1}Language specification}{16}{subsection.5.1}%
-\contentsline {subsection}{\numberline {5.2}Keywords}{16}{subsection.5.2}%
-\contentsline {subsection}{\numberline {5.3}Other code elements}{17}{subsection.5.3}%
-\contentsline {subsection}{\numberline {5.4}Memory management}{18}{subsection.5.4}%
-\contentsline {subsection}{\numberline {5.5}The steps in compiling a zippy program}{18}{subsection.5.5}%
-\contentsline {subsubsection}{\numberline {5.5.1}Converting zippy to C}{18}{subsubsection.5.5.1}%
-\contentsline {subsection}{\numberline {5.6}Actually using zippy}{18}{subsection.5.6}%
-\contentsline {section}{\numberline {6}Implementation}{19}{section.6}%
-\contentsline {subsection}{\numberline {6.1}Header files}{32}{subsection.6.1}%
+\contentsline {section}{\numberline {1}A breif head note and introduction}{4}{section.1}%
+\contentsline {section}{\numberline {2}Analysis}{4}{section.2}%
+\contentsline {subsection}{\numberline {2.1}The current problem}{4}{subsection.2.1}%
+\contentsline {subsection}{\numberline {2.2}A solution}{4}{subsection.2.2}%
+\contentsline {subsection}{\numberline {2.3}What is a programming language}{5}{subsection.2.3}%
+\contentsline {subsubsection}{\numberline {2.3.1}A very simple explanation}{5}{subsubsection.2.3.1}%
+\contentsline {subsubsection}{\numberline {2.3.2}Why are there so many}{5}{subsubsection.2.3.2}%
+\contentsline {subsection}{\numberline {2.4}Researching and getting a scope of the project}{5}{subsection.2.4}%
+\contentsline {subsubsection}{\numberline {2.4.1}Examples of older similar projects}{5}{subsubsection.2.4.1}%
+\contentsline {subsubsection}{\numberline {2.4.2}Examples of newer similar projects}{6}{subsubsection.2.4.2}%
+\contentsline {subsubsection}{\numberline {2.4.3}What should be taken away from these languages}{6}{subsubsection.2.4.3}%
+\contentsline {subsection}{\numberline {2.5}Clients}{7}{subsection.2.5}%
+\contentsline {subsubsection}{\numberline {2.5.1}Client 1: Amy C}{7}{subsubsection.2.5.1}%
+\contentsline {subsubsection}{\numberline {2.5.2}Client 2: Rayn M}{7}{subsubsection.2.5.2}%
+\contentsline {subsubsection}{\numberline {2.5.3}Client 3: Myself}{7}{subsubsection.2.5.3}%
+\contentsline {subsection}{\numberline {2.6}Questionnaires}{7}{subsection.2.6}%
+\contentsline {subsubsection}{\numberline {2.6.1}Amy C, initial ideas}{7}{subsubsection.2.6.1}%
+\contentsline {subsubsection}{\numberline {2.6.2}Notes from questionnare 1}{8}{subsubsection.2.6.2}%
+\contentsline {subsection}{\numberline {2.7}The first elements of the project}{8}{subsection.2.7}%
+\contentsline {section}{\numberline {3}Modelling}{9}{section.3}%
+\contentsline {subsection}{\numberline {3.1}Linked lists}{9}{subsection.3.1}%
+\contentsline {subsection}{\numberline {3.2}Dictionaries}{10}{subsection.3.2}%
+\contentsline {subsection}{\numberline {3.3}Prototyping harder features}{10}{subsection.3.3}%
+\contentsline {subsubsection}{\numberline {3.3.1}Abstract syntax trees (AST's) theory}{10}{subsubsection.3.3.1}%
+\contentsline {subsubsection}{\numberline {3.3.2}Abstract syntax trees (AST's) practical}{11}{subsubsection.3.3.2}%
+\contentsline {subsection}{\numberline {3.4}Feedback}{16}{subsection.3.4}%
+\contentsline {subsection}{\numberline {3.5}Mixing linked lists and AST's}{16}{subsection.3.5}%
+\contentsline {section}{\numberline {4}Objectives}{16}{section.4}%
+\contentsline {subsection}{\numberline {4.1}Core objectives}{16}{subsection.4.1}%
+\contentsline {subsection}{\numberline {4.2}Extra objectives}{17}{subsection.4.2}%
+\contentsline {section}{\numberline {5}Design}{17}{section.5}%
+\contentsline {subsection}{\numberline {5.1}Language specification}{17}{subsection.5.1}%
+\contentsline {subsection}{\numberline {5.2}Keywords}{17}{subsection.5.2}%
+\contentsline {subsection}{\numberline {5.3}Other code elements}{18}{subsection.5.3}%
+\contentsline {subsection}{\numberline {5.4}Memory management}{19}{subsection.5.4}%
+\contentsline {subsection}{\numberline {5.5}The steps in compiling a zippy program}{19}{subsection.5.5}%
+\contentsline {subsubsection}{\numberline {5.5.1}Converting zippy to C}{19}{subsubsection.5.5.1}%
+\contentsline {subsection}{\numberline {5.6}Actually using zippy}{19}{subsection.5.6}%
+\contentsline {subsection}{\numberline {5.7}Modelling the compilation process}{21}{subsection.5.7}%
+\contentsline {subsection}{\numberline {5.8}Modelling data structures I will use}{22}{subsection.5.8}%
+\contentsline {subsubsection}{\numberline {5.8.1}AstNode}{22}{subsubsection.5.8.1}%
+\contentsline {subsubsection}{\numberline {5.8.2}Array list}{22}{subsubsection.5.8.2}%
+\contentsline {subsection}{\numberline {5.9}Why so few?}{22}{subsection.5.9}%
+\contentsline {section}{\numberline {6}Implementation}{23}{section.6}%
+\contentsline {subsection}{\numberline {6.1}Header files}{35}{subsection.6.1}%
+\contentsline {subsection}{\numberline {6.2}The C linking process}{36}{subsection.6.2}%
+\contentsline {subsection}{\numberline {6.3}Zpypkg}{37}{subsection.6.3}%
+\contentsline {subsection}{\numberline {6.4}Zpylib}{39}{subsection.6.4}%
+\contentsline {subsection}{\numberline {6.5}Other libraries}{42}{subsection.6.5}%
+\contentsline {section}{\numberline {7}Testing}{43}{section.7}%
+\contentsline {subsection}{\numberline {7.1}Introduction}{43}{subsection.7.1}%
+\contentsline {subsection}{\numberline {7.2}Fibonacci}{43}{subsection.7.2}%
+\contentsline {subsubsection}{\numberline {7.2.1}Code}{43}{subsubsection.7.2.1}%
+\contentsline {subsubsection}{\numberline {7.2.2}Demo}{44}{subsubsection.7.2.2}%
+\contentsline {subsubsection}{\numberline {7.2.3}Performance}{44}{subsubsection.7.2.3}%
+\contentsline {subsection}{\numberline {7.3}String splitting}{45}{subsection.7.3}%
+\contentsline {subsubsection}{\numberline {7.3.1}Code}{45}{subsubsection.7.3.1}%
+\contentsline {subsubsection}{\numberline {7.3.2}Output}{45}{subsubsection.7.3.2}%
+\contentsline {subsubsection}{\numberline {7.3.3}Explaining}{45}{subsubsection.7.3.3}%
+\contentsline {subsection}{\numberline {7.4}zpypkg example}{46}{subsection.7.4}%
+\contentsline {subsubsection}{\numberline {7.4.1}Using zpypkg}{46}{subsubsection.7.4.1}%
+\contentsline {subsection}{\numberline {7.5}Space invaders}{46}{subsection.7.5}%
+\contentsline {subsubsection}{\numberline {7.5.1}Background}{46}{subsubsection.7.5.1}%
+\contentsline {subsubsection}{\numberline {7.5.2}Code}{46}{subsubsection.7.5.2}%
+\contentsline {subsubsection}{\numberline {7.5.3}Seeing it go}{49}{subsubsection.7.5.3}%
+\contentsline {section}{\numberline {8}Evaluation}{50}{section.8}%
+\contentsline {subsection}{\numberline {8.1}Core objectives}{50}{subsection.8.1}%
+\contentsline {subsection}{\numberline {8.2}Extra objectives}{51}{subsection.8.2}%
+\contentsline {subsection}{\numberline {8.3}Comparing the goals to the product}{51}{subsection.8.3}%
+\contentsline {subsubsection}{\numberline {8.3.1}A compiler for the Zippy language}{51}{subsubsection.8.3.1}%
+\contentsline {subsubsection}{\numberline {8.3.2}AST's used to compile source code}{51}{subsubsection.8.3.2}%
+\contentsline {subsubsection}{\numberline {8.3.3}A lisp like syntax}{51}{subsubsection.8.3.3}%
+\contentsline {subsubsection}{\numberline {8.3.4}Functional paradigm language}{51}{subsubsection.8.3.4}%
+\contentsline {subsubsection}{\numberline {8.3.5}Recursion}{52}{subsubsection.8.3.5}%
+\contentsline {subsubsection}{\numberline {8.3.6}Higher order functions}{52}{subsubsection.8.3.6}%
+\contentsline {subsubsection}{\numberline {8.3.7}A high performance language}{52}{subsubsection.8.3.7}%
+\contentsline {subsubsection}{\numberline {8.3.8}A package manager}{52}{subsubsection.8.3.8}%
+\contentsline {subsubsection}{\numberline {8.3.9}Ability to call C functions}{52}{subsubsection.8.3.9}%
+\contentsline {subsection}{\numberline {8.4}Thoughts on the core objectives}{53}{subsection.8.4}%
+\contentsline {subsection}{\numberline {8.5}Extra objectives}{53}{subsection.8.5}%