Skip to content

Commit 9468476

Browse files
committed
docs: enhance the doc
1 parent 8b0ba16 commit 9468476

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

README.md

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,24 +57,20 @@ Hello zecheng! This is the Monkey programming language!
5757
+ ginkgo (if you want to run local unit tests)
5858
+ golangci-lint (if you want to do local lint)
5959
60-
## Features
60+
## Conventions and Features
6161
6262
+ Programs can run in REPL or as scripts
6363
+ Identifiers consist of alphabet letters or underscore
6464
+ Statements are explicitly end by seminlon `;`
6565
+ Comments start with double slash `//`
66-
+ Syntax errors are caught in a single run
6766
+ Conditional statements (`if` and `switch` keywords)
6867
+ Loops (`for`, `range`, and `while` keywords)
69-
+ First-class functions
70-
+ If expressions
68+
+ First-class functions that allow closures
7169
+ Prefix operators (binary expressions)
7270
+ Infix operators (unary expressions)
7371
+ Postfix operators
74-
+ Tree-walking interpreter
75-
+ Works on 64-bit machines
76-
+ Not production ready yet, need a few more details to be addressed
77-
+ Function that allows for closures
72+
+ A Pratt Parser implementation
73+
+ A Tree-walking interpreter
7874
+ Use Go's GC to prevent memory leak
7975
8076
## Components
@@ -84,9 +80,11 @@ Hello zecheng! This is the Monkey programming language!
8480
+ Abstract Syntax Tree (AST)
8581
+ Pratt parser based on context-free grammars and the Backus-Naur-Form
8682
+ Tree-walking interpreter (evaluator), future: bytecode, VM, and JIT compilation
83+
+ An object system
8784
8885
## TODOs
8986
87+
+ [ ] docs: doc everything related to usage and implementation details
9088
+ [ ] feat: Unicode
9189
+ [ ] feat: parsing line, column number for better visibility
9290
+ [ ] feat: hexical notation and octal notation for integers

0 commit comments

Comments
 (0)