From b0f81d4902e1d16640dbaa9fe4fcf8e49b01966a Mon Sep 17 00:00:00 2001 From: AidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com> Date: Wed, 15 Dec 2021 11:05:25 +0000 Subject: adjusted image positions --- report/esoteric_project_report.pdf | Bin 281078 -> 360333 bytes report/esoteric_project_report.tex | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/report/esoteric_project_report.pdf b/report/esoteric_project_report.pdf index 21bf6c7..89540da 100644 Binary files a/report/esoteric_project_report.pdf and b/report/esoteric_project_report.pdf differ diff --git a/report/esoteric_project_report.tex b/report/esoteric_project_report.tex index acad3f2..f239eed 100644 --- a/report/esoteric_project_report.tex +++ b/report/esoteric_project_report.tex @@ -396,7 +396,7 @@ The second sprint tested the implementation of various different functionalities \subsection{Sprint 3 testing} -\begin{table}[h] +\begin{table}[!htb] \caption[]{Sprint 3 Tests and their results} \begin{center} \begin{tabular}{|l|l|l|l|}\hline @@ -413,7 +413,7 @@ The second sprint tested the implementation of various different functionalities \end{table} Testing during this sprint focused on more advanced program functionality, including conditional testing, and the concatenation of multiple strings for a print statement. These tests ensured that the logical and conditional parts of our compiler worked as expected. - +\newpage \section{Fortran Source File Testing} Once the compiler was fully implemented, testing was moved to custom harnesses that were written in Fortran. Each test file was run and the output carefully checked to ensure that the language and compiler were working as expected. @@ -421,14 +421,14 @@ In addition, example source code files were written to demonstrate the capabilit The use of actual source files in testing meant that compiler and program behaviour, as well as that of the implemented IDE could be checked on tandem, thus ensuring that the software worked properly. Below are some examples of output testing harnesses, run through the IDE program. -\begin{figure}[h] +\begin{figure}[!htb] \centering \includegraphics[scale=0.5]{images/test_harness_1.png} \caption{Mathematical testing} \label{test_harness_one} \end{figure} -\begin{figure}[h] +\begin{figure}[!htb] \centering \includegraphics[scale=0.5]{images/test_harness_2.png} \caption{Logical testing} -- cgit v1.2.3 From 1502644012e2afa13d01bd0d6318f11d6979ec1d Mon Sep 17 00:00:00 2001 From: AidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com> Date: Wed, 15 Dec 2021 11:15:22 +0000 Subject: Added sentences summarising each sprint --- report/esoteric_project_report.pdf | Bin 360333 -> 360740 bytes report/esoteric_project_report.tex | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/report/esoteric_project_report.pdf b/report/esoteric_project_report.pdf index 89540da..004df23 100644 Binary files a/report/esoteric_project_report.pdf and b/report/esoteric_project_report.pdf differ diff --git a/report/esoteric_project_report.tex b/report/esoteric_project_report.tex index f239eed..8304086 100644 --- a/report/esoteric_project_report.tex +++ b/report/esoteric_project_report.tex @@ -306,30 +306,40 @@ We decided to use the Agile method since it would lead to not only increased tea During our allocated project time, we did four major sprints. Our initial priority was creating the main framework for the compiler of our esoteric language. Then we handled variables and print statements. Then implemented conditionals and loops. Finally, we tackled arrays and functions. Once we tied up these loose ends, we could actually make a full Sieve of Eratosthenes algorithm to show the capability of the program. \\ \subsection{Sprint 1: Creating the framework for the compiler} +Focused on creating the framework for the compiler, and added simple expression handling. \begin{itemize} \item Language.java \item Token.java \item TokenScanner.java \item TokenType.java +\item Expression.java +\item Parser.java \end{itemize} \subsection{Sprint 2: Variables and Print statements} +Implemented basic statements for variables and prints. Also implemented error detection and reporting. \begin{itemize} \item Parser.java -\item Expression.java \item Statement.java \end{itemize} \subsection{Sprint 3: Conditionals and loops} +Added support for conditional statements and loops. In this sprint the classes to write to C and execute were also added. + \begin{itemize} \item Parser.java +\item Environment.java +\item ExecuteC.java +\item Translator.java +\item Statement.java \item Utils.java \end{itemize} \subsection{Sprint 4: Arrays \& functions} +Added functions, subroutines and arrays to the language, as well as additional utilities and a simple user interface. \begin{itemize} \item Parser.java -\item Environment.java -\item ExecuteC.java -\item Translator.java +\item Statement.java +\item Expression.java +\item Utils.java \end{itemize} -- cgit v1.2.3