Update WORKLOG.md

master
ar6496 4 years ago committed by GitHub
parent b81176b759
commit a80842e656
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -5,17 +5,16 @@ Compiler Construction PA1 Worklog
<br>Sanjar Ahmadov(sa5640)
<br>Yinqi Sun(ys3540)
<br>
<br>Acknowledgments: Provide attribution to any collaborations, external resources, or out-side help.
<br>
<br>Indentation: Describe your strategy for handling INDENT and DEDENT tokens. Point to the relevant source files and line numbers.
<br>Indentation:
<br>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.
<br>
<br>Challenges: Describe any challenges (besides indentation) you encountered and the way you solved them. Mention the approaches that did not work, if any.
<br>Challenges:
<br> 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.
<br> Handling errors was another challenge. This required debugging and small changes to program flow.
<br> Understanding the giving code was a small challenge and took some time before we could start coding.
<br>
<br>Improvements: Describe any improvements you introduced that were not strictly necessary to pass the tests, such as implementing additional functionality, adding new tests, or enabling static analysis.
<br>Improvements:
<br> Added more tests to rigorously check program flow and indentation.
<br> Function body must have atleast oone statement which is not a part of a nested function.
<br> Support for multi-line strings.

Loading…
Cancel
Save