
Changed backtracking algorithm, runtime representations - syntax classes, ~describe no longer implicitly commit - ~describe no longer delimits effect of cut Added keyword & optional args for stxclasses Added ~do and #:do, ~post, ~commit and #:commit, ~delimit-cut and #:no-delimit-cut Added syntax/parse/debug, syntax/parse/experimental/* - expr/c for contracting macro sub-expressions moved from syntax/parse to syntax/parse/experimental/contract - syntax class reflection (~reflect, ~splicing-reflect) - eh-alternative-sets (~eh-var) - provide-syntax-class/contract (only for params, not attrs so far) Changed ~fail to not include POST progress (#:fail still does) old (~fail _) is now (~post (~fail _)) Made msg argument of ~fail optional Removed generic "repetition constraint violated" msg Removed atom-in-list stxclass Removed unnecessary datum->syntax on cdr of pair pattern massive improvements to long-list microbenchmarks Optimization: integrable syntax classes (id, expr, keyword) need better measurements Optimization: ad hoc elimination of head/tail choice point for (EH ... . ()) patterns Added unstable/wrapc (proc version of expr/c)
28 lines
753 B
Racket
28 lines
753 B
Racket
#lang scribble/doc
|
|
@(require scribble/manual
|
|
scribble/struct
|
|
scribble/decode
|
|
scribble/eval
|
|
"parse-common.rkt"
|
|
(for-label racket/class))
|
|
|
|
@title[#:tag "stxparse-examples" #:style '(toc)]{Examples}
|
|
|
|
This section provides an extended introduction to
|
|
@schememodname[syntax/parse] as a series of worked examples.
|
|
|
|
@local-table-of-contents[]
|
|
|
|
@include-section["ex-mods-stxclasses.scrbl"]
|
|
@include-section["ex-kw-args.scrbl"]
|
|
@include-section["ex-uniform.scrbl"]
|
|
@include-section["ex-varied.scrbl"]
|
|
@include-section["ex-many-kws.scrbl"] @;{needs revision}
|
|
@include-section["ex-exprc.scrbl"]
|
|
|
|
@;{
|
|
@section{Communication via static bindings}
|
|
@section{Control: cut and commit}
|
|
@section{Analyzing expanded code}
|
|
}
|