scribble: fix indentation in file examples

I copied in the actual file contents. It would perhaps be safest to do
some sort of "read the file and splice the contents in," but I'm not
sure how to do that at the moment.
pull/27/head
D. Ben Knoble 3 years ago
parent d3405dd0ab
commit 4ecea10462

@ -538,16 +538,24 @@ Here's the definition for
brag/examples/simple-line-drawing/semantics brag/examples/simple-line-drawing/semantics
#:read my-read #:read my-read
#:read-syntax my-read-syntax #:read-syntax my-read-syntax
#:info my-get-info
#:whole-body-readers? #t #:whole-body-readers? #t
(require brag/examples/simple-line-drawing/lexer (require brag/examples/simple-line-drawing/lexer
brag/examples/simple-line-drawing/grammar) brag/examples/simple-line-drawing/grammar)
(define (my-read in) (define (my-read in)
(syntax->datum (my-read-syntax #f in))) (syntax->datum (my-read-syntax #f in)))
(define (my-read-syntax src ip) (define (my-read-syntax src ip)
(list (parse src (tokenize ip)))) (list (parse src (tokenize ip))))
(define (my-get-info key default default-filter)
(case key
[(color-lexer)
(dynamic-require 'syntax-color/default-lexer 'default-lexer)]
[else
(default-filter key default)]))
}| }|
} }
@ -564,43 +572,43 @@ compilation:
(require (for-syntax racket/base syntax/parse)) (require (for-syntax racket/base syntax/parse))
(provide #%module-begin (provide #%module-begin
;; We reuse Racket's treatment of raw datums, specifically ;; We reuse Racket's treatment of raw datums, specifically
;; for strings and numbers: ;; for strings and numbers:
#%datum #%datum
;; And otherwise, we provide definitions of these three forms. ;; And otherwise, we provide definitions of these three forms.
;; During compiliation, Racket uses these definitions to ;; During compiliation, Racket uses these definitions to
;; rewrite into for loops, displays, and newlines. ;; rewrite into for loops, displays, and newlines.
drawing rows chunk) drawing rows chunk)
;; Define a few compile-time functions to do the syntax rewriting: ;; Define a few compile-time functions to do the syntax rewriting:
(begin-for-syntax (begin-for-syntax
(define (compile-drawing drawing-stx) (define (compile-drawing drawing-stx)
(syntax-parse drawing-stx (syntax-parse drawing-stx
[({~literal drawing} rows-stxs ...) [({~literal drawing} row-stxs ...)
(syntax/loc drawing-stx (syntax/loc drawing-stx
(begin rows-stxs ...))])) (begin row-stxs ...))]))
(define (compile-rows rows-stx) (define (compile-rows row-stx)
(syntax-parse rows-stx (syntax-parse row-stx
[({~literal rows} [({~literal rows}
({~literal repeat} repeat-number) ({~literal repeat} repeat-number)
chunks ... chunks ...
";") ";")
(syntax/loc rows-stx (syntax/loc row-stx
(for ([i repeat-number]) (for ([i repeat-number])
chunks ... chunks ...
(newline)))])) (newline)))]))
(define (compile-chunk chunk-stx) (define (compile-chunk chunk-stx)
(syntax-parse chunk-stx (syntax-parse chunk-stx
[({~literal chunk} chunk-size chunk-string) [({~literal chunk} chunk-size chunk-string)
(syntax/loc chunk-stx (syntax/loc chunk-stx
(for ([k chunk-size]) (for ([k chunk-size])
(display chunk-string)))]))) (display chunk-string)))])))
;; Wire up the use of "drawing", "rows", and "chunk" to these ;; Wire up the use of "drawing", "rows", and "chunk" to these

Loading…
Cancel
Save