From 8e368b67de60442c483bd9def7036e52562ccc81 Mon Sep 17 00:00:00 2001 From: AidenRushbrooke <72034940+AidenRushbrooke@users.noreply.github.com> Date: Mon, 22 Nov 2021 16:30:45 +0000 Subject: Improved error handing and added logical statements --- report/esoteric_project_report.tex | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'report/esoteric_project_report.tex') diff --git a/report/esoteric_project_report.tex b/report/esoteric_project_report.tex index d4b2b78..3da6800 100644 --- a/report/esoteric_project_report.tex +++ b/report/esoteric_project_report.tex @@ -173,16 +173,28 @@ asdf & $<$expr-Statement$>$ $|$\\ & $<$print-Statement$>$ $|$ \\ & $<$if-Statement$>$ \\ + & $<$do-Statement$>$ \\ + & $<$do-while-Statement$>$ \\ + \hline + $<$block$>$::=& $<$statement$>$* "end"\\ \hline $<$declaration$>$ ::= & "character (len = "$<$number$>$")::"$<$identifier$>$ $|$ \\ & "int::"$<$identifier$>$ \\ & "real::"$<$identifier$>$ \\ \hline - $<$print-Statement$>$ ::= & "print *" (","$<$expression$>$)* "endprint" \\ + $<$print-Statement$>$ ::= & "print *" (","$<$expression$>$)* \\ + \hline + $<$if-Statement$>$ ::= & "if ("$<$expression$>$") then" $<$block$>$ \\ + & ("else" $<$block$>$)?\\ + & if"\\ + \hline + $<$do-Statement$>$ ::= & "do" $<$identifier$>$ "=" $<$number$>$","$<$number$>$(","$<$number$>$)?\\ + &$<$block$>$ \\ + & "do"\\ \hline - $<$if-Statement$>$ ::= & "if ("$<$expression$>$") then" $<$statement$>$* \\ - & ("else" $<$statement$>$*)?\\ - & "endif"\\ + $<$do-while-Statement$>$ ::= & "do while ("$<$expression$>$")"\\ + & $<$block$>$ \\ + & "do"\\ \hline $<$expr-statement$>$ ::= & $<$expression$>$\\ \hline @@ -194,7 +206,7 @@ asdf $<$equality$>$ ::= & $<$comparison$>$"=="$<$comparison$>$$|$\\ & $<$comparison$>$$|$\\ \hline - $<$comparison$>$ ::= & $<$term$>$("$>$"$|$"$<$")$<$term$>$$|$\\ + $<$comparison$>$ ::= & $<$term$>$("$>$"$|$"$<$"$|$"$>=$"$|$"$>=$")$<$term$>$$|$\\ & $<$term$>$$|$\\ \hline $<$term$>$ ::= & $<$factor$>$("+"$|$"-")$<$factor$>$$|$\\ -- cgit v1.2.3