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.