Commit Graph

10 Commits

Author SHA1 Message Date
Ryan Culpepper
a564110c08 syntax/parse: change expectstack rep to reduce/consolidate allocations 2012-03-13 19:50:09 -06:00
Ryan Culpepper
5db8553ea1 syntax/parse: expect:thing stores stx being matched 2012-03-13 19:50:09 -06:00
Ryan Culpepper
6cf3127cf9 syntax/parse: put failure information in syntax exn 2012-03-13 19:50:08 -06:00
Ryan Culpepper
fb7c7e3793 syntax/parse: added roles, other updates/fixes
expr/c uses role for contract label when avail
export ~peek-not (previously missed)
fixes for integrable stxclasses
2012-03-08 07:39:42 -07:00
Ryan Culpepper
e2404184ee syntax/parse: fix opaque head patterns and splicing syntax classes
closes PR 12537
2012-02-07 13:43:26 -07:00
Ryan Culpepper
1c6b8bd68e syntax/parse: lazily load most macro transformers and compile-time support 2011-09-30 04:13:09 -06:00
Ryan Culpepper
553ef2834d syntax/parse: removed stx from expectstack 2010-11-03 18:09:21 -06:00
Ryan Culpepper
95d690d550 syntax/parse: pinpoint stx from progress, not expectstack 2010-11-03 18:09:21 -06:00
Ryan Culpepper
fff692309e removed useless requires 2010-09-03 13:53:42 -06:00
Ryan Culpepper
d7a87c79e0 Merged changes to syntax/parse
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)
2010-08-31 10:55:58 -06:00