Thank you for your comment

Beau­tiful Racket / tuto­rials

  1. main.rkt
    #lang br/quicklang
    (module reader br
      (require "reader.rkt")
      (provide read-syntax))
    1
    2
    3
    4
    #lang br/quicklang
    (module reader br
      (require "reader.rkt")
      (provide read-syntax))
    
    copy to clipboard
    reader.rkt
    #lang br/quicklang
    (require "parser.rkt")

    (define (read-syntax path port)
      (define parse-tree (parse path (make-tokenizer port)))
      (define module-datum `(module bf-mod bf/expander
                              ,parse-tree))
      (datum->syntax #f module-datum))
    (provide read-syntax)

    (require brag/support)
    (define (make-tokenizer port)
      (define (next-token)
        (define bf-lexer
          (lexer
           [(char-set "><-.,+[]") lexeme]
           [any-char (next-token)]))
        (bf-lexer port))
      next-token)
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #lang br/quicklang
    (require "parser.rkt")
    
    (define (read-syntax path port)
      (define parse-tree (parse path (make-tokenizer port)))
      (define module-datum `(module bf-mod bf/expander
                              ,parse-tree))
      (datum->syntax #f module-datum))
    (provide read-syntax)
    
    (require brag/support)
    (define (make-tokenizer port)
      (define (next-token)
        (define bf-lexer
          (lexer
           [(char-set "><-.,+[]") lexeme]
           [any-char (next-token)]))
        (bf-lexer port))  
      next-token)
    
    copy to clipboard
  2. cd path/to/bf
    raco pkg install
    1
    2
    > cd path/to/bf
    > raco pkg install
    
    copy to clipboard
  3. #lang bf
    Greatest language ever!
    ++++++++[>++++++++<-]>.
    1
    2
    3
    #lang bf
    Greatest language ever!
    ++++++++[>++++++++<-]>.
    
    copy to clipboard
    @
    1
    @
    
    copy to clipboard
  4. raco pkg remove bf
    1
    > raco pkg remove bf
    
    copy to clipboard
← prev next →