summaryrefslogtreecommitdiff
path: root/comp/lucas-standen-NEA
diff options
context:
space:
mode:
Diffstat (limited to 'comp/lucas-standen-NEA')
-rw-r--r--comp/lucas-standen-NEA/code.zipbin0 -> 98882 bytes
-rw-r--r--comp/lucas-standen-NEA/code2/Makefile37
-rw-r--r--comp/lucas-standen-NEA/code2/Makefile.new25
-rw-r--r--comp/lucas-standen-NEA/code2/fileread.c (renamed from comp/lucas-standen-NEA/code2/parser.c)2
-rw-r--r--comp/lucas-standen-NEA/code2/fileread.h (renamed from comp/lucas-standen-NEA/code2/parser.h)2
-rw-r--r--comp/lucas-standen-NEA/code2/stdlib/Makefile28
-rw-r--r--comp/lucas-standen-NEA/code2/stdlib/String/String.c6
-rw-r--r--comp/lucas-standen-NEA/code2/stdlib/zpylib.c2
-rwxr-xr-xcomp/lucas-standen-NEA/code2/zpybin0 -> 22360 bytes
-rw-r--r--comp/lucas-standen-NEA/code2/zpy.c4
-rwxr-xr-xcomp/lucas-standen-NEA/writeup2/build.sh1
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.aux52
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.log927
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.out39
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.tex104
-rw-r--r--comp/lucas-standen-NEA/writeup2/writeup.toc40
16 files changed, 1230 insertions, 39 deletions
diff --git a/comp/lucas-standen-NEA/code.zip b/comp/lucas-standen-NEA/code.zip
new file mode 100644
index 0000000..2667486
--- /dev/null
+++ b/comp/lucas-standen-NEA/code.zip
Binary files differ
diff --git a/comp/lucas-standen-NEA/code2/Makefile b/comp/lucas-standen-NEA/code2/Makefile
index cfd4254..e01a111 100644
--- a/comp/lucas-standen-NEA/code2/Makefile
+++ b/comp/lucas-standen-NEA/code2/Makefile
@@ -1,26 +1,25 @@
-CC = cc
-CFLAGS =-O3
+CC=cc
+CFLAGS=-O3
-zpy: zpy.c comp.c parser.c tokenizer.c util.c
- ${CC} *.c -c ${CFLAGS}
- ${CC} *.o -o zpy ${CFLAGS}
- cd stdlib && make
-clean:
- rm -rf zpy *.o *.core sample out stdlib/*.o
- cd stdlib && make clean
- cd examples && make clean
+SRC = zpy.c comp.c tokenizer.c fileread.c util.c appendsnprintf.c
+OBJ = ${SRC:.c=.o}
-install: zpy
- mkdir -p /usr/local/share/zpylib
- mkdir -p /usr/local/share/zpylib/include
- cp ./zpy /usr/local/bin/zpy
+all: zpy
+.c.o:
+ ${CC} -c ${CFLAGS} $<
+zpy: ${OBJ}
+ ${CC} -o $@ ${OBJ}
+ cd stdlib && make
+install: all
+ cp zpy /usr/local/bin/zpy
cd stdlib && make install
cd zpypkg && make install
-
-example: zpy
- cd examples && make
-
+clean:
+ rm -rf zpy*.o
+ cd stdlib && make clean
+ cd examples && make clean
uninstall:
rm /usr/local/bin/zpy
- rm -rf /usr/local/share/zpylib
+
+.PHONY: all clean install uninstall
diff --git a/comp/lucas-standen-NEA/code2/Makefile.new b/comp/lucas-standen-NEA/code2/Makefile.new
new file mode 100644
index 0000000..8dcb4db
--- /dev/null
+++ b/comp/lucas-standen-NEA/code2/Makefile.new
@@ -0,0 +1,25 @@
+CC=cc
+CFLAGS=-O3
+
+SRC = zpy.c comp.c tokenizer.c fileread.c util.c appendsnprintf.c
+OBJ = ${SRC:.c=.o}
+
+all: zpy
+
+.c.o:
+ ${CC} -c ${CFLAGS} $<
+zpy: ${OBJ}
+ ${CC} -o $@ ${OBJ}
+ cd stdlib && make
+install: all
+ cp zpy /usr/local/bin/zpy
+ cd stdlib && make install
+ cd zpypkg && make install
+clean:
+ rm -rf zpy*.o
+ cd stdlib && make clean
+ cd examples && make clean
+uninstall:
+ rm /usr/local/bin/zpy
+
+.PHONY: all clean install uninstall
diff --git a/comp/lucas-standen-NEA/code2/parser.c b/comp/lucas-standen-NEA/code2/fileread.c
index a84291b..0bfc497 100644
--- a/comp/lucas-standen-NEA/code2/parser.c
+++ b/comp/lucas-standen-NEA/code2/fileread.c
@@ -20,7 +20,7 @@ int countChars(char *s, char c){
}
//# returns an array of strings (type strings) of the file contents, split by line
-strings *parse(FILE *f){
+strings *fileread(FILE *f){
strings *strs = malloc(sizeof(strings));
strs->strs = malloc(sizeof(char **));
diff --git a/comp/lucas-standen-NEA/code2/parser.h b/comp/lucas-standen-NEA/code2/fileread.h
index 80a5f08..fe47f25 100644
--- a/comp/lucas-standen-NEA/code2/parser.h
+++ b/comp/lucas-standen-NEA/code2/fileread.h
@@ -10,4 +10,4 @@ typedef struct strings {
int count;
} strings;
-strings *parse(FILE *f);
+strings *fileread(FILE *f);
diff --git a/comp/lucas-standen-NEA/code2/stdlib/Makefile b/comp/lucas-standen-NEA/code2/stdlib/Makefile
index 9d4bfd6..c69992c 100644
--- a/comp/lucas-standen-NEA/code2/stdlib/Makefile
+++ b/comp/lucas-standen-NEA/code2/stdlib/Makefile
@@ -1,17 +1,23 @@
CC=cc
CFLAGS=-O3
-stdlib:
- cd String && make
- ${CC} zpylib.c -c -o zpylib.o ${CFLAGS}
+SRC = zpylib.c
+OBJ = ${SRC:.c=.o}
-clean:
- rm -rf *.o
- cd String && make clean
+all: zpy
-install:
- cp *.o /usr/local/share/zpylib/
- cp *.h /usr/local/share/zpylib/include/
- cp String/String.o /usr/local/share/zpylib
- cp String/String.h /usr/local/share/zpylib/include
+.c.o:
+ ${CC} -c ${CFLAGS} $<
+ cd String && make
+install: all
+ cp zpy /usr/local/bin/zpy
+ cd stdlib && make install
+ cd zpypkg && make install
+clean:
+ rm -rf zpy*.o
+ cd stdlib && make clean
+ cd examples && make clean
+uninstall:
+ rm /usr/local/bin/zpy
+.PHONY: all clean install uninstall
diff --git a/comp/lucas-standen-NEA/code2/stdlib/String/String.c b/comp/lucas-standen-NEA/code2/stdlib/String/String.c
index 6f11119..c273351 100644
--- a/comp/lucas-standen-NEA/code2/stdlib/String/String.c
+++ b/comp/lucas-standen-NEA/code2/stdlib/String/String.c
@@ -16,7 +16,7 @@ void __stringprint(string *self){
}
void __stringinput(string *self, size_t len){
- char *tmp = calloc(0, len);
+ char *tmp = calloc(1, len);
fgets(tmp, len, stdin);
self->fromcstring(self, tmp);
}
@@ -109,7 +109,7 @@ string **__stringsplit(string *self, char delim){
int j = 0;
for (int i = 0; i < splitcount; i++){
- char *str = calloc(0, self->_len);
+ char *str = calloc(1, self->_len);
int charcount = 0;
for (; self->_str[j] != delim && j < self->_len; j++){
str[charcount] = self->_str[j];
@@ -129,7 +129,7 @@ string *String(char *cstring){ // returns an allocated String from a C string in
size_t len = strlen(cstring);
string *str = malloc(sizeof(string));
- str->_str = calloc(0, len);
+ str->_str = calloc(1, len);
memcpy(str->_str, cstring, len);
str->_len = len;
diff --git a/comp/lucas-standen-NEA/code2/stdlib/zpylib.c b/comp/lucas-standen-NEA/code2/stdlib/zpylib.c
index 86f0dc3..7b512dd 100644
--- a/comp/lucas-standen-NEA/code2/stdlib/zpylib.c
+++ b/comp/lucas-standen-NEA/code2/stdlib/zpylib.c
@@ -21,7 +21,7 @@ void printfloat(double f){
}
char *readstr(){
- char *str = calloc(0, 256);
+ char *str = calloc(1, 256);
fgets(str, 256, stdin);
return str;
}
diff --git a/comp/lucas-standen-NEA/code2/zpy b/comp/lucas-standen-NEA/code2/zpy
new file mode 100755
index 0000000..85eb8a2
--- /dev/null
+++ b/comp/lucas-standen-NEA/code2/zpy
Binary files differ
diff --git a/comp/lucas-standen-NEA/code2/zpy.c b/comp/lucas-standen-NEA/code2/zpy.c
index b96615b..65fd7ae 100644
--- a/comp/lucas-standen-NEA/code2/zpy.c
+++ b/comp/lucas-standen-NEA/code2/zpy.c
@@ -3,7 +3,7 @@
#include <stdbool.h>
#include "util.h"
-#include "parser.h"
+#include "fileread.h"
#include "comp.h"
#include "appendsnprintf.h"
@@ -61,7 +61,7 @@ int main(int argc, char **argv){
if (fout == NULL) die("no such file or directory");
- strings *stringTokens = parse(f);
+ strings *stringTokens = fileread(f);
if (stringTokens == NULL) die("couldn't parse file, is it formated properly?");
diff --git a/comp/lucas-standen-NEA/writeup2/build.sh b/comp/lucas-standen-NEA/writeup2/build.sh
index 4b903f5..ae48bda 100755
--- a/comp/lucas-standen-NEA/writeup2/build.sh
+++ b/comp/lucas-standen-NEA/writeup2/build.sh
@@ -1,2 +1,3 @@
#!/bin/bash
pdflatex writeup.tex
+pdflatex writeup.tex
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.aux b/comp/lucas-standen-NEA/writeup2/writeup.aux
new file mode 100644
index 0000000..0880d1d
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/writeup.aux
@@ -0,0 +1,52 @@
+\relax
+\providecommand\babel@aux[2]{}
+\@nameuse{bbl@beforestart}
+\providecommand\hyper@newdestlabel[2]{}
+\providecommand\HyField@AuxAddToFields[1]{}
+\providecommand\HyField@AuxAddToCoFields[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 }
+\gdef \@abspage@last{19}
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.log b/comp/lucas-standen-NEA/writeup2/writeup.log
new file mode 100644
index 0000000..7508beb
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/writeup.log
@@ -0,0 +1,927 @@
+This is pdfTeX, Version 3.141592653-2.6-1.40.26 (TeX Live 2024/Arch Linux) (preloaded format=pdflatex 2024.11.3) 5 NOV 2024 11:19
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**writeup.tex
+(./writeup.tex
+LaTeX2e <2023-11-01> patch level 1
+L3 programming layer <2024-02-20>
+(/usr/share/texmf-dist/tex/latex/base/article.cls
+Document Class: article 2023/05/17 v1.4n Standard LaTeX document class
+(/usr/share/texmf-dist/tex/latex/base/size12.clo
+File: size12.clo 2023/05/17 v1.4n Standard LaTeX file (size option)
+)
+\c@part=\count188
+\c@section=\count189
+\c@subsection=\count190
+\c@subsubsection=\count191
+\c@paragraph=\count192
+\c@subparagraph=\count193
+\c@figure=\count194
+\c@table=\count195
+\abovecaptionskip=\skip48
+\belowcaptionskip=\skip49
+\bibindent=\dimen140
+)
+(/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
+Package: keyval 2022/05/29 v1.15 key=value parser (DPC)
+\KV@toks@=\toks17
+)
+(/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
+Package: iftex 2022/02/03 v1.0f TeX engine tests
+))
+\Gm@cnth=\count196
+\Gm@cntv=\count197
+\c@Gm@tempcnt=\count198
+\Gm@bindingoffset=\dimen141
+\Gm@wd@mp=\dimen142
+\Gm@odd@mp=\dimen143
+\Gm@even@mp=\dimen144
+\Gm@layoutwidth=\dimen145
+\Gm@layoutheight=\dimen146
+\Gm@layouthoffset=\dimen147
+\Gm@layoutvoffset=\dimen148
+\Gm@dimlist=\toks18
+)
+(/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
+Package: titlesec 2023/10/27 v2.16 Sectioning titles
+\ttl@box=\box51
+\beforetitleunit=\skip53
+\aftertitleunit=\skip54
+\ttl@plus=\dimen149
+\ttl@minus=\dimen150
+\ttl@toksa=\toks19
+\titlewidth=\dimen151
+\titlewidthlast=\dimen152
+\titlewidthfirst=\dimen153
+)
+(/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)
+\bbl@readstream=\read2
+\bbl@dirlevel=\count266
+
+(/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.
+Package babel Info: Hyphen rules for 'UKenglish' set to \l@english
+(babel) (\language0). Reported on input line 83.
+Package babel Info: Hyphen rules for 'canadian' set to \l@english
+(babel) (\language0). Reported on input line 102.
+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
+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
+Package: hyperref 2024-01-20 v7.01h Hypertext links for LaTeX
+
+(/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
+Package: kvdefinekeys 2019-12-19 v1.6 Define keys (HO)
+)
+(/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
+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
+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
+Package: hycolor 2020-01-27 v1.10 Color options for hyperref/bookmark (HO)
+)
+(/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
+Package: nameref 2023-11-26 v2.56 Cross-referencing by name of section
+
+(/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
+Package: gettitlestring 2019/12/15 v1.6 Cleanup title references (HO)
+
+(/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
+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
+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
+Package: intcalc 2019/12/15 v1.3 Expandable calculations with integers (HO)
+)
+\Hy@SavedSpaceFactor=\count271
+
+(/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
+)
+Package hyperref Info: Hyper figures OFF on input line 4179.
+Package hyperref Info: Link nesting OFF on input line 4184.
+Package hyperref Info: Hyper index ON on input line 4187.
+Package hyperref Info: Plain pages OFF on input line 4194.
+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
+\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
+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
+)
+))
+\Fld@menulength=\count273
+\Field@Width=\dimen157
+\Fld@charsize=\dimen158
+Package hyperref Info: Hyper figures OFF on input line 6063.
+Package hyperref Info: Link nesting OFF on input line 6068.
+Package hyperref Info: Hyper index ON on input line 6071.
+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
+Package: atbegshi-ltx 2021/01/10 v1.0c Emulation of the original atbegshi
+package with kernel methods
+)
+\Hy@abspage=\count274
+\c@Item=\count275
+\c@Hfootnote=\count276
+)
+Package hyperref Info: Driver (autodetected): hpdftex.
+
+(/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
+with kernel methods
+)
+\Fld@listcount=\count277
+\c@bookmark@seq@number=\count278
+
+(/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.
+)
+\Hy@SectionHShift=\skip55
+)
+(/usr/share/texmf-dist/tex/latex/listings/listings.sty
+\lst@mode=\count279
+\lst@gtempboxa=\box52
+\lst@token=\toks20
+\lst@length=\count280
+\lst@currlwidth=\dimen159
+\lst@column=\count281
+\lst@pos=\count282
+\lst@lostspace=\dimen160
+\lst@width=\dimen161
+\lst@newlines=\count283
+\lst@lineno=\count284
+\lst@maxwidth=\dimen162
+
+(/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
+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
+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
+Package: xcolor 2023/11/15 v3.01 LaTeX color extensions (UK)
+
+(/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
+File: pdftex.def 2022/09/22 v1.2b Graphics/color driver for pdftex
+)
+(/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.
+Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1368.
+Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1369.
+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
+Package: graphicx 2021/09/16 v1.2d Enhanced LaTeX Graphics (DPC,SPQR)
+
+(/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
+Package: trig 2021/08/11 v1.11 sin cos tan (DPC)
+)
+(/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
+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)
+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
+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
+))
+\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
+\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
+ (/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
+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
+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
+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
+File: pgfsysprotocol.code.tex 2023-01-15 v3.1.10 (3.1.10)
+))
+(/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
+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
+File: pgfcorepathconstruct.code.tex 2023-01-15 v3.1.10 (3.1.10)
+\pgf@path@lastx=\dimen192
+\pgf@path@lasty=\dimen193
+) (/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
+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
+)
+(/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
+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
+) (/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
+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
+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
+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
+File: pgfcoreimage.code.tex 2023-01-15 v3.1.10 (3.1.10)
+)
+(/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
+File: pgfcorelayers.code.tex 2023-01-15 v3.1.10 (3.1.10)
+)
+(/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
+File: pgfcorerdf.code.tex 2023-01-15 v3.1.10 (3.1.10)
+)))
+(/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
+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
+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
+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
+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
+Package: tikz 2023-01-15 v3.1.10 (3.1.10)
+
+(/usr/share/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothandlers.code.te
+x
+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
+ (/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
+)
+\tikz@expandcount=\count307
+
+(/usr/share/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibrary
+topaths.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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+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
+Package: elocalloc 2016/12/15 v0.03 local allocation for LaTeX 2015+ (DPC)
+)
+(/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
+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
+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
+))
+Package: xparse 2024-02-18 L3 Experimental document command parser
+)
+(/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
+\forest@copy@in=\read4
+\forest@copy@out=\write4
+\forest@externalize@max@outer@n=\count335
+\forest@externalize@inner@n=\count336
+)
+(/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.
+
+(./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.
+
+*geometry* driver: auto-detecting
+*geometry* detected driver: pdftex
+*geometry* verbose mode - [ preamble ] result:
+* driver: pdftex
+* paper: a4paper
+* layout: <same size as paper>
+* layoutoffset:(h,v)=(0.0pt,0.0pt)
+* modes:
+* h-part:(L,W,R)=(56.9055pt, 483.69687pt, 56.9055pt)
+* v-part:(T,H,B)=(45.52438pt, 731.23582pt, 68.28664pt)
+* \paperwidth=597.50787pt
+* \paperheight=845.04684pt
+* \textwidth=483.69687pt
+* \textheight=731.23582pt
+* \oddsidemargin=-15.36449pt
+* \evensidemargin=-15.36449pt
+* \topmargin=-63.7456pt
+* \headheight=12.0pt
+* \headsep=25.0pt
+* \topskip=12.0pt
+* \footskip=30.0pt
+* \marginparwidth=35.0pt
+* \marginparsep=10.0pt
+* \columnsep=10.0pt
+* \skip\footins=10.8pt plus 4.0pt minus 2.0pt
+* \hoffset=0.0pt
+* \voffset=0.0pt
+* \mag=1000
+* \@twocolumnfalse
+* \@twosidefalse
+* \@mparswitchfalse
+* \@reversemarginfalse
+* (1in=72.27pt=25.4mm, 1cm=28.453pt)
+
+Package hyperref Info: Link coloring OFF on input line 56.
+(./writeup.out) (./writeup.out)
+\@outlinefile=\write5
+\openout5 = `writeup.out'.
+
+\c@lstlisting=\count340
+
+(/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
+) (/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
+))
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <14.4> on input line 58.
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <7> on input line 58.
+ [1
+
+{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./writeup.toc
+LaTeX Font Info: External font `cmex10' loaded for size
+(Font) <12> on input line 4.
+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.
+)
+\tf@toc=\write6
+\openout6 = `writeup.toc'.
+
+ [2] [3] [4] [5]
+Overfull \hbox (8.48462pt too wide) in paragraph at lines 250--251
+[]\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
+[]\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
+[]\OT1/cmr/m/n/12 I like a
+ []
+
+
+Overfull \hbox (2.0225pt too wide) in paragraph at lines 270--273
+[]\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
+[]\OT1/cmr/m/n/12 I think
+ []
+
+
+Overfull \hbox (26.90446pt too wide) in paragraph at lines 278--279
+[]
+ []
+
+[7{/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
+File: lstlang1.sty 2024/02/21 1.10 listings language file
+)
+(/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.
+ [9]
+(../code/proto/AST/ast.c [10] [11] [12]) (../code/proto/AST/astg.c) [13]
+(../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] [19] (./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: 46D59C96DCC63599096D6D4A7A3CDC09;6742.
+ )
+Here is how much of TeX's memory you used:
+ 33324 strings out of 476076
+ 715421 string characters out of 5793775
+ 2239187 words of memory out of 5000000
+ 54699 multiletter control sequences out of 15000+600000
+ 565524 words of font info for 61 fonts, out of 8000000 for 9000
+ 14 hyphenation exceptions out of 8191
+ 98i,9n,101p,1606b,2286s 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 (19 pages, 207854 bytes).
+PDF statistics:
+ 655 PDF objects out of 1000 (max. 8388607)
+ 603 compressed objects within 7 object streams
+ 288 named destinations out of 1000 (max. 500000)
+ 325 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
new file mode 100644
index 0000000..a9dfd37
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/writeup.out
@@ -0,0 +1,39 @@
+\BOOKMARK [1][-]{section.1}{\376\377\000A\000\040\000b\000r\000e\000i\000f\000\040\000h\000e\000a\000d\000\040\000n\000o\000t\000e\000\040\000a\000n\000d\000\040\000i\000n\000t\000r\000o\000d\000u\000c\000t\000i\000o\000n}{}% 1
+\BOOKMARK [1][-]{section.2}{\376\377\000A\000n\000a\000l\000y\000s\000i\000s}{}% 2
+\BOOKMARK [2][-]{subsection.2.1}{\376\377\000T\000h\000e\000\040\000c\000u\000r\000r\000e\000n\000t\000\040\000p\000r\000o\000b\000l\000e\000m}{section.2}% 3
+\BOOKMARK [2][-]{subsection.2.2}{\376\377\000A\000\040\000s\000o\000l\000u\000t\000i\000o\000n}{section.2}% 4
+\BOOKMARK [2][-]{subsection.2.3}{\376\377\000W\000h\000a\000t\000\040\000i\000s\000\040\000a\000\040\000p\000r\000o\000g\000r\000a\000m\000m\000i\000n\000g\000\040\000l\000a\000n\000g\000u\000a\000g\000e}{section.2}% 5
+\BOOKMARK [3][-]{subsubsection.2.3.1}{\376\377\000A\000\040\000v\000e\000r\000y\000\040\000s\000i\000m\000p\000l\000e\000\040\000e\000x\000p\000l\000a\000n\000a\000t\000i\000o\000n}{subsection.2.3}% 6
+\BOOKMARK [3][-]{subsubsection.2.3.2}{\376\377\000W\000h\000y\000\040\000a\000r\000e\000\040\000t\000h\000e\000r\000e\000\040\000s\000o\000\040\000m\000a\000n\000y}{subsection.2.3}% 7
+\BOOKMARK [2][-]{subsection.2.4}{\376\377\000R\000e\000s\000e\000a\000r\000c\000h\000i\000n\000g\000\040\000a\000n\000d\000\040\000g\000e\000t\000t\000i\000n\000g\000\040\000a\000\040\000s\000c\000o\000p\000e\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000r\000o\000j\000e\000c\000t}{section.2}% 8
+\BOOKMARK [3][-]{subsubsection.2.4.1}{\376\377\000E\000x\000a\000m\000p\000l\000e\000s\000\040\000o\000f\000\040\000o\000l\000d\000e\000r\000\040\000s\000i\000m\000i\000l\000a\000r\000\040\000p\000r\000o\000j\000e\000c\000t\000s}{subsection.2.4}% 9
+\BOOKMARK [3][-]{subsubsection.2.4.2}{\376\377\000E\000x\000a\000m\000p\000l\000e\000s\000\040\000o\000f\000\040\000n\000e\000w\000e\000r\000\040\000s\000i\000m\000i\000l\000a\000r\000\040\000p\000r\000o\000j\000e\000c\000t\000s}{subsection.2.4}% 10
+\BOOKMARK [3][-]{subsubsection.2.4.3}{\376\377\000W\000h\000a\000t\000\040\000s\000h\000o\000u\000l\000d\000\040\000b\000e\000\040\000t\000a\000k\000e\000n\000\040\000a\000w\000a\000y\000\040\000f\000r\000o\000m\000\040\000t\000h\000e\000s\000e\000\040\000l\000a\000n\000g\000u\000a\000g\000e\000s}{subsection.2.4}% 11
+\BOOKMARK [2][-]{subsection.2.5}{\376\377\000C\000l\000i\000e\000n\000t\000s}{section.2}% 12
+\BOOKMARK [3][-]{subsubsection.2.5.1}{\376\377\000C\000l\000i\000e\000n\000t\000\040\0001\000:\000\040\000A\000m\000y\000\040\000C}{subsection.2.5}% 13
+\BOOKMARK [3][-]{subsubsection.2.5.2}{\376\377\000C\000l\000i\000e\000n\000t\000\040\0002\000:\000\040\000R\000a\000y\000n\000\040\000M}{subsection.2.5}% 14
+\BOOKMARK [3][-]{subsubsection.2.5.3}{\376\377\000C\000l\000i\000e\000n\000t\000\040\0003\000:\000\040\000M\000y\000s\000e\000l\000f}{subsection.2.5}% 15
+\BOOKMARK [2][-]{subsection.2.6}{\376\377\000Q\000u\000e\000s\000t\000i\000o\000n\000n\000a\000i\000r\000e\000s}{section.2}% 16
+\BOOKMARK [3][-]{subsubsection.2.6.1}{\376\377\000A\000m\000y\000\040\000C\000,\000\040\000i\000n\000i\000t\000i\000a\000l\000\040\000i\000d\000e\000a\000s}{subsection.2.6}% 17
+\BOOKMARK [3][-]{subsubsection.2.6.2}{\376\377\000N\000o\000t\000e\000s\000\040\000f\000r\000o\000m\000\040\000q\000u\000e\000s\000t\000i\000o\000n\000n\000a\000r\000e\000\040\0001}{subsection.2.6}% 18
+\BOOKMARK [2][-]{subsection.2.7}{\376\377\000T\000h\000e\000\040\000f\000i\000r\000s\000t\000\040\000e\000l\000e\000m\000e\000n\000t\000s\000\040\000o\000f\000\040\000t\000h\000e\000\040\000p\000r\000o\000j\000e\000c\000t}{section.2}% 19
+\BOOKMARK [1][-]{section.3}{\376\377\000M\000o\000d\000e\000l\000l\000i\000n\000g}{}% 20
+\BOOKMARK [2][-]{subsection.3.1}{\376\377\000L\000i\000n\000k\000e\000d\000\040\000l\000i\000s\000t\000s}{section.3}% 21
+\BOOKMARK [2][-]{subsection.3.2}{\376\377\000D\000i\000c\000t\000i\000o\000n\000a\000r\000i\000e\000s}{section.3}% 22
+\BOOKMARK [2][-]{subsection.3.3}{\376\377\000P\000r\000o\000t\000o\000t\000y\000p\000i\000n\000g\000\040\000h\000a\000r\000d\000e\000r\000\040\000f\000e\000a\000t\000u\000r\000e\000s}{section.3}% 23
+\BOOKMARK [3][-]{subsubsection.3.3.1}{\376\377\000A\000b\000s\000t\000r\000a\000c\000t\000\040\000s\000y\000n\000t\000a\000x\000\040\000t\000r\000e\000e\000s\000\040\000\050\000A\000S\000T\000'\000s\000\051\000\040\000t\000h\000e\000o\000r\000y}{subsection.3.3}% 24
+\BOOKMARK [3][-]{subsubsection.3.3.2}{\376\377\000A\000b\000s\000t\000r\000a\000c\000t\000\040\000s\000y\000n\000t\000a\000x\000\040\000t\000r\000e\000e\000s\000\040\000\050\000A\000S\000T\000'\000s\000\051\000\040\000p\000r\000a\000c\000t\000i\000c\000a\000l}{subsection.3.3}% 25
+\BOOKMARK [2][-]{subsection.3.4}{\376\377\000F\000e\000e\000d\000b\000a\000c\000k}{section.3}% 26
+\BOOKMARK [2][-]{subsection.3.5}{\376\377\000M\000i\000x\000i\000n\000g\000\040\000l\000i\000n\000k\000e\000d\000\040\000l\000i\000s\000t\000s\000\040\000a\000n\000d\000\040\000A\000S\000T\000'\000s}{section.3}% 27
+\BOOKMARK [1][-]{section.4}{\376\377\000O\000b\000j\000e\000c\000t\000i\000v\000e\000s}{}% 28
+\BOOKMARK [2][-]{subsection.4.1}{\376\377\000C\000o\000r\000e\000\040\000o\000b\000j\000e\000c\000t\000i\000v\000e\000s}{section.4}% 29
+\BOOKMARK [2][-]{subsection.4.2}{\376\377\000E\000x\000t\000r\000a\000\040\000o\000b\000j\000e\000c\000t\000i\000v\000e\000s}{section.4}% 30
+\BOOKMARK [1][-]{section.5}{\376\377\000D\000e\000s\000i\000g\000n}{}% 31
+\BOOKMARK [2][-]{subsection.5.1}{\376\377\000L\000a\000n\000g\000u\000a\000g\000e\000\040\000s\000p\000e\000c\000i\000f\000i\000c\000a\000t\000i\000o\000n}{section.5}% 32
+\BOOKMARK [2][-]{subsection.5.2}{\376\377\000K\000e\000y\000w\000o\000r\000d\000s}{section.5}% 33
+\BOOKMARK [2][-]{subsection.5.3}{\376\377\000O\000t\000h\000e\000r\000\040\000c\000o\000d\000e\000\040\000e\000l\000e\000m\000e\000n\000t\000s}{section.5}% 34
+\BOOKMARK [2][-]{subsection.5.4}{\376\377\000M\000e\000m\000o\000r\000y\000\040\000m\000a\000n\000a\000g\000e\000m\000e\000n\000t}{section.5}% 35
+\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
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.tex b/comp/lucas-standen-NEA/writeup2/writeup.tex
index 3eba42e..2c57257 100644
--- a/comp/lucas-standen-NEA/writeup2/writeup.tex
+++ b/comp/lucas-standen-NEA/writeup2/writeup.tex
@@ -508,7 +508,6 @@ list of AST's is how Zippy will represent all code the user writes. To do this,
linked list, and in the data element put a AST, then the next node can contain the same.
This might be a help to zippy as the compiler can convert all code to an AST, then
compile it.
-}
\section{Objectives}
Zippy must support the following features, it needs them to be a usable language that has
many uses.
@@ -534,10 +533,113 @@ If possible I would like Zippy to also meet the following extra objectives
\item[graphics in the stdlib]
\end{description}
+I think with these objectives in mind I will make a well rounded language that achieves my
+goal of being used in the same way and places that C is. If all goes to plan I will
+create a high level, compiled, functional programming language.
+
\section{Design}
\subsection{Language specification}
Like any other programming language Zippy needs to have a defined syntax, bellow
you can find a syntax for zippy that will be complaint with my objectives.
+\subsection{Keywords}
+\begin{description}
+ \item[defun] starts the definition of a function, will take in a name, return type, and arguments with types
+ \item[endfun] ends the definition of a function
+ \item[let] define a variable with a initial value, takes a variable name and a value
+ \item[set] change a pre defined variable, takes a variable name and a new value
+ \item[def] define a variable which doesn't have a initial value, takes a variable name
+ \item[defunptr] defines a ptr to a function same as defun, but used to pass functions as arguments
+ \item[if] starts an if block, takes a condition
+ \item[elif] starts an elif block, must come after and if block, takes a condition
+ \item[else] starts an else block, must come after an elif or if block
+ \item[endif] must be at the end of an if/elif/else block
+ \item[for] defines a for loop, takes a variable name to use as an iterator, a starting value for that variable, a condition, and a difference to change the iterator by each loop
+ \item[endfor] ends a for block
+ \item[symbol] defines a function for semantic purposes from an external executable, take a name and arguments, the symbol must be in a linked binary
+ \item[+] addition, takes 2 arguments
+ \item[-] subtraction, takes 2 arguments
+ \item[*] multiplication, takes 2 arguments
+ \item[/] division, takes 2 arguments
+ \item[=] equality comparison operation, takes 2 arguments
+ \item[!=] negative equality operation, takes 2 arguments
+ \item[\(<\)] less than equality operation, takes 2 arguments
+ \item[\(>\)] greater than equality operation, takes 2 arguments
+ \item[\(<=\)] less than or equal operation, takes 2 arguments
+ \item[\(>=\)] greater than or equal operation, takes 2 arguments
+ \item[exit] exits the program, takes a value to exit on
+ \item[return] returns from a function, and takes a value to return
+ \item[alloc] allocates a block of memory, takes a size in bytes
+ \item[struct] defines a struct, takes a name as an argument
+ \item[endstruct] ends the definition of a struct
+ \item[sizeof] returns the size of a given type, takes the type name as an argument
+\end{description}
+\subsection{Other code elements}
+As one can see from the list of keywords, all blocks such as functions are defined and ended. This leads to a nice
+form of code that isn't reliant on indentation, where blocks can be easily seen. I have made sure to keep the
+language uniform, so function, struts, if statements and for loops all use this syntax.
+
+Comments can be written in zippy by prefacing a line with a '/'.
+
+All code must have a main function, if it doesn't the linker will fail. This is the entry point to the program, so
+it is where code will start executing from.
+
+Reverse Polish notation is used for mathematical and comparison operations, so \((2 + (4 + 3))\) would be written
+as \((+\; 2\; (+\; 4\; 3))\).
+\subsection{Memory management}
+In zippy memory is semi manual to manage, like in C the programmer needs to allocate blocks of a large enough size,
+however they do not need to free the memory, as all allocs will be freed just before a function returns. This means
+that memory has a life time of the function it was defined in. One should note that this means that if an allocated
+block needs to be returned, the caller function needs to allocate the block, or else the memory returned will be
+freed as soon as the function has finished.
+\subsection{The steps in compiling a zippy program}
+All the programmer should need to do is call the "zpy" command, and then the code will be converted from zippy to
+binary. However on the back end of the project, more has to happen. First the zippy code gets converted to C, this
+is how zippy will be cross compatible with C, then the C code is compiled to ASM, then the ASM, is converted to
+binary, and finally the linker will convert the binary into an executable, and add any libraries that are used.
+
+For my project I will only need to do the first step, and slightly edit the second step, as C compilers, assemblers
+and linkers already exist. So I don't need to reinvent the wheel.
+\subsubsection{Converting zippy to C}
+The process of converting zippy to C is yet again another long one. It starts with reading in the program,
+then converting that into individual expressions (in zippy one expression takes up one line), then the expression
+is converted to a data structure that holds a function name, and its arguments in individual variables and finally
+it converts that data structure to C code via substituting names, functions, and literal values into template C code.
+\subsection{Actually using zippy}
+For the programmer to use zippy they must be able to call it as a command, on a text file containing their code and
+they must give an output file name, to place the binary. To call the command, it can be simply done using the command
+line with the "zpy" command, which the user will need to install, this is the compiler.
+
+The compiler will have the following options to tweak the output.
+All options are prefixed with a '-', to denote that they are not the input file.
+
+\begin{description}
+ \item{o} - changes the output file location
+ \item{i} - tells the C compiler to include a library that is given after this argument
+ \item{c} - tells the zippy compiler to return C code instead of a compiled binary,
+ this is helpful when using zippy to make small functions in a C/C++ code
+ base
+ \item{f} - pass a flag to the C compiler, the next option should be an argument
+ accepted by gcc.
+\end{description}
+
+The programmer will also have access to "zpypkg" which will automatically setup their project with compile commands
+and a template executable. It will be a very simple tool, that copies needed files around to the correct folders,
+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}
+ \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.
+ \item[run] this will build the project, and run the newly built executable.
+ \item[clean] this will remove all temp files and binaries from the project folder, this is helpful when sharing code.
+ \item[remove] this will remove zpypkg from the current directory (think of it like a de-init).
+\end{description}
+
+\section{Implementation}
+As has been previously mentioned, zippy will have its compiler written in C and its package manager writen in bash.
+
+
+}
\end{document}
diff --git a/comp/lucas-standen-NEA/writeup2/writeup.toc b/comp/lucas-standen-NEA/writeup2/writeup.toc
new file mode 100644
index 0000000..d3718b2
--- /dev/null
+++ b/comp/lucas-standen-NEA/writeup2/writeup.toc
@@ -0,0 +1,40 @@
+\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}%