From 463ed04e0585ad5a2290f6e58d349066ab62e78c Mon Sep 17 00:00:00 2001 From: sforman Date: Wed, 6 Sep 2023 18:24:27 -0700 Subject: [PATCH] Add grammar image. Made with https://jacquev6.github.io/DrawGrammar/ --- docs/html/images/grammar.png | Bin 0 -> 15435 bytes docs/source/Thun.md | 5 ++++- 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 docs/html/images/grammar.png diff --git a/docs/html/images/grammar.png b/docs/html/images/grammar.png new file mode 100644 index 0000000000000000000000000000000000000000..2c9d9955ace7171aeae6ef0b1e0e26e1513618c7 GIT binary patch literal 15435 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 IY83K+02x01(EtDd literal 0 HcmV?d00001 diff --git a/docs/source/Thun.md b/docs/source/Thun.md index 901f532..bbfe5d0 100644 --- a/docs/source/Thun.md +++ b/docs/source/Thun.md @@ -13,7 +13,7 @@ notation, Booleans `true` and `false`, lists enclosed by square brackets term ::= integer | bool | '[' joy ']' | symbol - integer ::= [ '-' ] ('0'...'9')+ + integer ::= 0 | [ '-' ] ('1'...'9') ('0'...'9')* bool ::= 'true' | 'false' @@ -29,6 +29,9 @@ respective Boolean values. That's it. That's the whole of the grammar. +![Thun Grammar Railroad Diagram](./images/grammar.png) + + ## Types The original Joy has several datatypes (such as strings and sets)