summaryrefslogtreecommitdiff
path: root/chapter03/README.md
Commit message (Collapse)AuthorAgeFilesLines
* b and e use different numbersTamas Hadhazy2024-09-141-4/+4
|
* revisit explanationTamas Hadhazy2024-09-141-2/+3
|
* extend explanation on scopesTamas Hadhazy2024-09-141-0/+34
|
* Some updates to Chapter 3 docs based on feedback by Yarden (#100)Dibyendu Majumdar2024-08-161-12/+22
| | | | | * Some updates to Chapter 3 docs based on feedback by Yarden * Apply feedback from Cliff
* Scope docs (#99)Cliff Click2024-08-151-22/+42
| | | | | * More scope docs * readme updates
* Backport tests (#87)Thalia Archibald2024-06-211-1/+1
| | | | | | | | | | | | | | | | | * Fix unexpected number parse errors * Add chapter titles * Split test files by chapter * Backport rename Fuzzer08Test to FuzzerWrap * Replace graph build scripts with Makefile * Backport Chapter05Test.testRegress1 * Backport require space after 'return' * Backport check EOF after return statement
* Format whitespace (#86)Thalia Archibald2024-06-211-23/+23
| | | | | | | | | * Trim trailing whitespace * Ensure final new lines * Convert line endings from CRLF to LF * Replace tabs with spaces
* Documentation updates (#76)Dibyendu Majumdar2024-05-021-3/+3
| | | | | | | | | | | | | | | | | | * More clearly explain why we do not have an AST in the implementation * Improve the description of type lattice. Cross reference to future chapters. * Minor update * Add lattice visual Revise the text describing meet. * minor update * Add a lattice visual to the text * Update the lattice visual. Add description of the new edges in the SoN graph
* Backport some of the code refactoring to previous chapters (#50)Dibyendu Majumdar2023-12-071-10/+10
| | | | | | | | | | | * #44 Revise docs and comments * #44 Add starting scope to xScopes * #44 back some of the code refactoring port to previous chapters * #44 add_def should not be public * #44 add_def should not be public. Rename method names so that they are camelcase
* Applied fix for #12 to chapter 3 (#15)Dibyendu Majumdar2023-10-271-2/+22
| | | | ScopeNode added to chapter 3 Revised the description for Chapter 3 and 4 to include ScopeNode.
* Chapter 3 - add vars and lexical scope. (#7)Dibyendu Majumdar2023-10-011-0/+98
* Chapter 3 - add vars and lexical scope. * Fix typo * Overhaul graph viz Makes the scopes pointing into the graph being build more visually appealing. Constants are a printed with just the constant value. * Fix control edge color * Fix missing grouping operator parse Add a parens test. Shorten names 'Identifier' to 'Id' _lexer.match -> match require() passes a Node thru, so can be flow-coded. Uniform syntax error messages. Handy Lexer.toString for debugging. Drop Optional for null returns; less total code; less objects; less confusion. camelCase some fcns. * All parser helpers return Node, not void. Drop _ret. parseBlock and parseStatement now the same. * CLosely align chap2 and chap3 parsers Mostly whitespace aligned; dragged a few functions around to make more sense. I think the diff from Ch2 and Ch3 is down a few differences about what is a statement, plus all the symbol stuff for scopes and variables. * Add examples illustrating the symbol table creation. * Update docs and comments --------- Co-authored-by: Cliff Click <cliffc@acm.org>