From 17d9f17f4e0501adf0d3183043bc71777b0ac8a5 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Tue, 10 May 2016 16:50:50 -0700 Subject: [PATCH] add some notes --- beautiful-racket/br/demo/txtadv/parser.rkt | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/beautiful-racket/br/demo/txtadv/parser.rkt b/beautiful-racket/br/demo/txtadv/parser.rkt index 0b1b68b..937d6e8 100644 --- a/beautiful-racket/br/demo/txtadv/parser.rkt +++ b/beautiful-racket/br/demo/txtadv/parser.rkt @@ -2,13 +2,22 @@ txtadv-program : verb-section everywhere-section things-section places-section start-section +;; hide on right side: remove element +;; useful for: getting rid of literals +;; splice on right side: lift element +;; useful for: selective splicing +;; hide on left side: remove name, leave container +;; useful for: grouping args, avoiding "alternation" pattern +;; splice on left side: lift everywhere +;; useful for: flattening recursive structures + verb-section : /"===VERBS===" verb-item+ -/verb-item : verb next-verb* s-exp +/verb-item : verb-list s-exp -/verb : ID ["_"] +@verb-list : verb [/"," verb-list] -@next-verb : [/","] verb +/verb : ID ["_"] everywhere-section : /"===EVERYWHERE===" id-desc+ @@ -20,11 +29,9 @@ places-section : /"===PLACES===" place-item+ /place-item : DASHED-NAME STRING place-items id-desc+ -/place-items : /"[" [place next-place*] /"]" - -@place : ID +/place-items : /"[" [place-list] /"]" -@next-place: /"," place +@place-list : ID [/"," place-list] start-section : /"===START===" ID