From c8f40451c02b9d253e858d2e0b01dcab071f246c Mon Sep 17 00:00:00 2001 From: Sanjar Date: Fri, 26 Feb 2021 09:15:40 -0500 Subject: [PATCH] Update WORKLOG.md --- WORKLOG.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/WORKLOG.md b/WORKLOG.md index 6824dcd..28c3037 100644 --- a/WORKLOG.md +++ b/WORKLOG.md @@ -10,11 +10,11 @@ Compiler Construction PA1 Worklog
A stack is maintained by the lexer to keep track of indentations. A count is accumulated for the number of whitespace characters before the first token. If the count changes from the previous line count, a stack operation is performed. If count increases, another value is added to the stack. If count decreases, the topmost value is popped from the stack.

Challenges: -
Shift-reduce errors while parsing the grammar. One approach to fix is to change the grammar. We chose to fix this issue by adding a precedence as in the case of expr by adding right precedence for if and else. -
Handling errors was another challenge. This required debugging and small changes to program flow. -
Understanding the giving code was a small challenge and took some time before we could start coding. +
- Shift-reduce errors while parsing the grammar. One approach to fix is to change the grammar. We chose to fix this issue by adding a precedence as in the case of expr by adding right precedence for if and else. +
- Handling errors was another challenge. This required debugging and small changes to program flow. +
- Understanding the giving code was a small challenge and took some time before we could start coding.

Improvements: -
Added more tests to rigorously check program flow and indentation. -
Function body must have atleast oone statement which is not a part of a nested function. -
Support for multi-line strings. +
- Added more tests to rigorously check program flow and indentation. +
- Function body must have atleast oone statement which is not a part of a nested function. +
- Support for multi-line strings.