diff options
| author | Dibyendu Majumdar <dibyendumajumdar@users.noreply.github.com> | 2023-10-01 18:01:54 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-10-01 10:01:54 -0700 |
| commit | df5294e88cc409d7adf3e10666bfcb40e34472b9 (patch) | |
| tree | a890d2a65704870a27211613b81f1e950f73a588 /chapter03/pom.xml | |
| parent | 3f2e9e84e137462272ae1bb592f47cecc362bdff (diff) | |
| download | Simple-df5294e88cc409d7adf3e10666bfcb40e34472b9.tar.gz Simple-df5294e88cc409d7adf3e10666bfcb40e34472b9.zip | |
Chapter 3 - add vars and lexical scope. (#7)
* 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>
Diffstat (limited to 'chapter03/pom.xml')
| -rw-r--r-- | chapter03/pom.xml | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/chapter03/pom.xml b/chapter03/pom.xml new file mode 100644 index 00000000..a484d5bd --- /dev/null +++ b/chapter03/pom.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.seaofnodes</groupId> + <artifactId>simple</artifactId> + <version>1.0</version> + </parent> + <artifactId>chapter03</artifactId> + <packaging>jar</packaging> + <name>Chapter 3</name> +</project>
\ No newline at end of file |
