diff options
Diffstat (limited to 'comp/lucas-standen-NEA')
-rw-r--r-- | comp/lucas-standen-NEA/code.zip | bin | 0 -> 98882 bytes | |||
-rw-r--r-- | comp/lucas-standen-NEA/code2/Makefile | 37 | ||||
-rw-r--r-- | comp/lucas-standen-NEA/code2/Makefile.new | 25 | ||||
-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/Makefile | 28 | ||||
-rw-r--r-- | comp/lucas-standen-NEA/code2/stdlib/String/String.c | 6 | ||||
-rw-r--r-- | comp/lucas-standen-NEA/code2/stdlib/zpylib.c | 2 | ||||
-rwxr-xr-x | comp/lucas-standen-NEA/code2/zpy | bin | 0 -> 22360 bytes | |||
-rw-r--r-- | comp/lucas-standen-NEA/code2/zpy.c | 4 | ||||
-rwxr-xr-x | comp/lucas-standen-NEA/writeup2/build.sh | 1 | ||||
-rw-r--r-- | comp/lucas-standen-NEA/writeup2/writeup.aux | 52 | ||||
-rw-r--r-- | comp/lucas-standen-NEA/writeup2/writeup.log | 927 | ||||
-rw-r--r-- | comp/lucas-standen-NEA/writeup2/writeup.out | 39 | ||||
-rw-r--r-- | comp/lucas-standen-NEA/writeup2/writeup.tex | 104 | ||||
-rw-r--r-- | comp/lucas-standen-NEA/writeup2/writeup.toc | 40 |
16 files changed, 1230 insertions, 39 deletions
diff --git a/comp/lucas-standen-NEA/code.zip b/comp/lucas-standen-NEA/code.zip Binary files differnew file mode 100644 index 0000000..2667486 --- /dev/null +++ b/comp/lucas-standen-NEA/code.zip 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 Binary files differnew file mode 100755 index 0000000..85eb8a2 --- /dev/null +++ b/comp/lucas-standen-NEA/code2/zpy 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}% |