diff --git a/documentatie/verslag.tex b/documentatie/verslag.tex index 49c1846..9eefcda 100644 --- a/documentatie/verslag.tex +++ b/documentatie/verslag.tex @@ -1,17 +1,126 @@ %! Author = tdpeuter %! Date = 27/03/2025 -% Preamble -\documentclass[11pt]{article} +\documentclass[11pt,a4paper]{article} -% Packages \usepackage{amsmath} +\usepackage[dutch]{babel} % Nederlands taal +\usepackage{enumitem} % Aanpasbare lijsten +\usepackage[margin=1in]{geometry} % Sane marges +\usepackage{multicol} % Meerdere kolommen + +\title{Ghent Prolog} +\author{Tibo De Peuter} +\date{\today} % Document \begin{document} + \maketitle % Lexer op basis van https://craftinginterpreters.com/scanning.html + \appendix + \newpage + \section{Geïmplementeerde predicaten}\label{sec:predicaten} + + \begin{multicols}{2} + \begin{itemize}[label={}] + \item \textbf{Analysing and Constructing Terms} + \begin{itemize} + \item \texttt{functor/3} + \item \texttt{arg/3} + \item \texttt{=..} + \item \texttt{numbervars/1} + \item \texttt{numbervars/3} + \end{itemize} + \item \textbf{Arithmetic} + \begin{itemize} + \item \texttt{between/3} + \item \texttt{succ/2} + \item \texttt{plus/3} + \item \texttt{=\textbackslash=/2} + \item \texttt{=:=/2} + \item \texttt{is/2} + \item \texttt{-/1} + \item \texttt{+/1} + \item \texttt{+/2} + \item \texttt{*/2} + \item \texttt{//2} + \item \texttt{inf/0} + \end{itemize} + \item \textbf{Comparison and Unification of Terms} + \begin{itemize} + \item \texttt{=/2} + \item \texttt{\textbackslash=/2} + \item \texttt{==/2} + \item \texttt{\textbackslash==/2} + \end{itemize} + \item \textbf{Control Predicates} + \begin{itemize} + \item \texttt{fail/0} + \item \texttt{false/0} + \item \texttt{true/0} + \item \texttt{!/0} + \item \texttt{,/2} + \item \texttt{;/2} + \item \texttt{|/2} + \item \texttt{\textbackslash+/1} + \end{itemize} + \item \textbf{Database} + \begin{itemize} + \item \texttt{retract/1} + \item \texttt{retractall/1} + \item \texttt{asserta/1} + \item \texttt{assertz/1} + \item \texttt{assert/1} + \end{itemize} + \item \textbf{Declaring predicate properties} + \begin{itemize} + \item \texttt{dynamic/1} + \end{itemize} + \item \textbf{Delimited continuations} + \begin{itemize} + \item \texttt{reset/3} + \item \texttt{shift/1} + \end{itemize} + \item \textbf{Examining the program} + \begin{itemize} + \item \texttt{clause/2} + \end{itemize} + \item \textbf{Forall} + \begin{itemize} + \item \texttt{forall/2} + \end{itemize} + \item \textbf{Loading Prolog source files} + \begin{itemize} + \item \texttt{consult/1} + \item \texttt{initialization/1} + \end{itemize} + \item \textbf{Meta-Call Predicates} + \begin{itemize} + \item \texttt{call/1} + \item \texttt{once/1} + \item \texttt{ignore/1} + \end{itemize} + \item \textbf{Primitive character I/O} + \begin{itemize} + \item \texttt{nl/0} + \end{itemize} + \item \textbf{Term reading and writing} + \begin{itemize} + \item \texttt{write/1} + \item \texttt{writeln/1} + \item \texttt{read/1} + \end{itemize} + \item \textbf{Verify Type of a Term} + \begin{itemize} + \item \texttt{var/1} + \item \texttt{nonvar/1} + \item \texttt{atom/1} + \item \texttt{compound/1} + \end{itemize} + \end{itemize} + \end{multicols} \end{document} \ No newline at end of file