Ugh, forgot to git-add this

This commit is contained in:
Tony Garnock-Jones 2017-08-07 11:21:09 -04:00
parent 6703c5ef9a
commit 4f8bc6e5af
1 changed files with 21 additions and 0 deletions

View File

@ -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)))