Ryan Culpepper
c7f86d276c
removed useless requires
2011-09-27 19:28:44 -06:00
Ryan Culpepper
7cc1476170
syntax/parse: fix bug: integrated stxclass might not bind pvar to syntax
2011-09-21 16:58:52 -06:00
Ryan Culpepper
095b5a5131
syntax/parse: use new primitive cross-phase identifier comparison
2011-09-20 14:27:33 -06:00
Eli Barzilay
623c7493ed
Some selective #:when (not ...)' ->
#:unless ...'.
2011-09-16 10:48:18 -04:00
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