Ugh, forgot to git-add this
This commit is contained in:
parent
6703c5ef9a
commit
4f8bc6e5af
|
@ -0,0 +1,21 @@
|
|||
#lang racket/base
|
||||
;; Common syntax classes.
|
||||
|
||||
(provide (for-syntax assertions
|
||||
name))
|
||||
|
||||
(require (for-syntax racket/base))
|
||||
(require (for-syntax syntax/parse))
|
||||
(require (for-syntax syntax/srcloc))
|
||||
|
||||
(require "trie.rkt")
|
||||
|
||||
(begin-for-syntax
|
||||
(define-splicing-syntax-class assertions
|
||||
(pattern (~seq #:assertions P0) #:attr P #'(pattern->trie '<initial-assertions> P0))
|
||||
(pattern (~seq #:assertions* P)) ;; P should be an expression yielding a trie
|
||||
(pattern (~seq) #:attr P #'trie-empty))
|
||||
|
||||
(define-splicing-syntax-class name
|
||||
(pattern (~seq #:name N))
|
||||
(pattern (~seq) #:attr N #'#f)))
|
Loading…
Reference in New Issue