Commit Graph

47 Commits

Author SHA1 Message Date
Ryan Culpepper
3aa16f2c26 syntax/parse: speed up "is literal bound?" check
Can't do check completely statically, because phase of comparison
is expression (and even default is slightly unpredictable).
So instead compute whether check would succeed for likely phase
offsets, and use list of ok offsets as run-time fast path (memv
instead of identifier-binding).
2011-09-06 12:41:03 -06:00
Ryan Culpepper
68e76a9876 syntax/parse: speed up free-identifier=?/phases when phases are same 2011-09-06 12:41:03 -06:00
Ryan Culpepper
883e9e9e6b syntax/parse: syntax-parse sets current-syntax-context 2011-08-30 12:04:25 -06:00
Carl Eastlund
2e6a608539 Corrected documentation of quote-module-name to indicate that it does not
produce collection and planet-relative paths on its own.  Deprecated
quote-module-path, and replaced existing uses of it with quote-module-name.
2011-07-09 14:46:58 -04:00
Ryan Culpepper
0aecbf97ff syntax/parse: add expr/c to main module
Merge to release branch
2011-07-08 15:34:59 -06:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Carl Eastlund
97642c1cb6 Fixed syntax/parse bug:
Syntax classes with keyword arguments were unintentionally requiring all
arguments at an application site to be in alphabetical order.
Added a test for this fix.
2011-07-01 15:32:34 -04:00
Ryan Culpepper
2cea046fef syntax/parse: report stxclass arity error without ~var form
closes PR 11933
2011-06-27 10:21:12 -06:00
Ryan Culpepper
5bf4b1c930 moved phase-of-enclosing-module to unstable/syntax
closes PR 11970
2011-06-10 13:22:33 -06:00
Ryan Culpepper
c8a691490a syntax/parse: added literal-set->predicate
closes PR 11968
2011-06-10 13:22:26 -06:00
Ryan Culpepper
d9f05a61a3 syntax/parse: better error message for unbound literals 2011-05-05 02:17:54 -06:00
Ryan Culpepper
1bf95392d2 syntax/parse: added litset extension 2011-05-03 01:25:41 -06:00
Ryan Culpepper
e5e12ab01a syntax/parse: added define-syntax-class/specialize 2011-05-02 21:02:11 -06:00
Ryan Culpepper
0a048b67bb syntax/parse: refactored some parsing/checking code 2011-05-02 20:28:51 -06:00
Ryan Culpepper
bf5248e3b5 syntax/parse: changed #:declare back to "magical" scoping 2011-04-25 20:24:35 -06:00
Robby Findler
21cbd9ad81 added the racket/contract/combinator library,
and documented and adjusted these libraries:
     racket/contract/base
     racket/contract/exists
     racket/contract/parametric (renamed from exists)
     racket/contract/region
2011-04-25 11:51:44 -05:00
Ryan Culpepper
fdede6f063 syntax/parse: added docs for litset #:at kw, relaxed restriction on arg 2011-04-15 14:47:29 -06:00
Ryan Culpepper
7828a7bfa7 moved unstable/{location,srcloc} to syntax collection
fixed bugs in unstable/wrapc
2011-04-08 08:25:22 -06:00
Ryan Culpepper
86f65468d7 removed define-pattern-variable 2011-04-07 09:47:20 -06:00
Ryan Culpepper
73ab167522 created racket/syntax from parts of unstable/syntax 2011-04-07 09:47:20 -06:00
Ryan Culpepper
0bec757e5e syntax/parse: fixed bug in ~literal uncovered by litset changes 2011-04-07 09:47:20 -06:00
Vincent St-Amour
5200b93a0c Fix ~literal patterns in syntax-parse. 2011-04-01 14:56:17 -04:00
Ryan Culpepper
c677932baf syntax/parse: added define/syntax-parse, like define/with-syntax 2011-04-01 02:12:30 -06:00
Ryan Culpepper
896cb86dc4 syntax/parse: added phase options to define-literal-set 2011-04-01 00:57:04 -06:00
Ryan Culpepper
bf591d4d01 syntax/parse: added #:disable-colon-notation option 2011-03-17 13:47:38 -06:00
Ryan Culpepper
012746540c syntax/parse: added define-simple-macro form (needs docs) 2011-03-17 13:47:38 -06:00
Ryan Culpepper
1353d40612 syntax/parse: allow zero syntax-parse clauses and zero syntax-class variants 2011-03-17 13:47:38 -06:00
Ryan Culpepper
b8fc41283e syntax/parse: exported and documented ~do action pattern 2010-12-09 12:19:34 -07:00
Ryan Culpepper
c51f769672 syntax/parse: vars w/ splicing-stxclasses bind stxobjs, not lists 2010-12-09 12:19:26 -07:00
Ryan Culpepper
8605fecaf3 syntax/parse: fixed bug in #:do (with expression) 2010-11-26 19:28:55 -07:00
Ryan Culpepper
a2c4574688 syntax-parse: improved error for non-syntax attribute in syntax template 2010-11-11 16:14:37 -07: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
68e7cda162 syntax/parse: added todo items 2010-11-03 18:09:20 -06:00
Ryan Culpepper
60f8d3854a syntax-parse: tidy up 2010-10-29 16:01:51 -06:00
Ryan Culpepper
c941db0bfa Added ~peek-not, cf packrat/PEG ! operator 2010-10-22 15:30:24 -06:00
Vincent St-Amour
f281abe693 Added quote-syntax to kernel-literals. 2010-10-06 17:32:29 -04:00
Ryan Culpepper
de5b110d75 added lookahead (~peek) 2010-10-04 11:54:03 -06:00
Ryan Culpepper
fff692309e removed useless requires 2010-09-03 13:53:42 -06:00
Ryan Culpepper
b572f0c7dc removed useless requires 2010-09-03 13:53:41 -06:00
Ryan Culpepper
be3ca941bb eliminated some uses of rest-args and list unpacking 2010-08-31 18:36:32 -06:00
Ryan Culpepper
6c42fe2766 changed static syntax class back to perform post-checks 2010-08-31 16:21:45 -06:00
Ryan Culpepper
712a8f60e9 updated syntax/parse/exp./splicing, updated honu use
fixed stress.rkt
2010-08-31 16:21:44 -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
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
Ryan Culpepper
0f08499e54 syntax/parse: started support for backtracking into syntax classes
incomplete, need to separate descriptions from failure handlers

svn: r18013
2010-02-08 09:47:52 +00:00
Ryan Culpepper
f14118c075 syntax/parse: added syntax/parse/experimental
svn: r17873
2010-01-28 21:08:02 +00:00