From ef4eb90eac9d99c1f677baca5ddaca2afbc1627f Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Sat, 23 Aug 2025 10:52:23 +0300 Subject: doc: updated the README, still sysreqs missing --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f5881f1..3f62d29 100644 --- a/README.md +++ b/README.md @@ -23,9 +23,15 @@ Valid myslip s-expressions may be atoms of different types or lists of them, though not all syntactically valid myslip expressions are ones that can be evaluated. +The following is s-expressions explained intuitively in +something that looks a bit like a BNF: +``` S-expression := Atom | List -Atom := TODO +Atom := Operator | Value | Variable ... List := (S-expression ... S-expression) +``` +Don't take it to be exact. For example lists are actually +implemented as linked lists. The myslip interpreter performs type checking on s-expressions and evaluates them according to polish @@ -65,7 +71,9 @@ $ myslip Exit the REPL by pressing CTRL+C, CTRL+D or entering "exit". For a quick reference on how to use the `myslip` command, -see `myslip --help`. +see `myslip --help`. It also contains additional features +which are omitted here as they are not relevant for +grading. Running `myslip filename.slip` tries to read a file named `filename.slip` as an s-expression and evaluates it. -- cgit v1.2.3