Ryan Culpepper
03bd431e1d
fix bad syntax error, closes PR 13812
2013-06-04 16:23:15 -04:00
Ryan Culpepper
aff7153494
auto-force attributes in syntax templates
2013-06-04 16:23:14 -04:00
Ryan Culpepper
002213d98e
fix syntax error context
2013-05-05 18:07:09 -04:00
Ryan Culpepper
87921e914e
fix problem with define-eh-alternative-set related to lazy-require
2013-05-05 18:07:09 -04:00
Ryan Culpepper
3dfab4d0aa
factor out create-ehpat code
2013-03-30 10:00:44 -04:00
Ryan Culpepper
829a640299
reorganize code, expose stxclass rhs->parser helper
2013-03-18 19:14:05 -04:00
Ryan Culpepper
ab9207dbc7
split out pattern optimization code
2013-03-18 19:14:04 -04:00
Ryan Culpepper
ae63f01cc7
improve pattern factoring, misc cleanup
2013-03-18 19:14:04 -04:00
Ryan Culpepper
34c1bdfc97
unfold pat:and to uncover more factoring opportunities
...
Side clauses introduce pat:and, very common in stxclasses.
2013-03-18 19:14:04 -04:00
Ryan Culpepper
d5068278f4
do factoring for stxclasses (non-splicing only) too
2013-03-18 19:14:04 -04:00
Ryan Culpepper
1de7045dd3
basic pattern factoring for syntax-parse
2013-03-18 19:14:04 -04:00
Ryan Culpepper
9d84c5fdf7
add #:commit, fix other typos
2013-03-18 19:14:04 -04:00
Ryan Culpepper
91cbbbbde2
change syntax-parse clause parsing code
2013-03-18 19:14:04 -04:00
Ryan Culpepper
d5fe602131
added #:datum-literals, like #:literals but for ~datum patterns
2013-01-22 21:35:53 -05:00
Ryan Culpepper
fd7d8a412c
move lazy-require to racket/lazy-require
2012-12-03 19:28:12 -05:00
Ryan Culpepper
5470899d6e
fix shadowing (caused unwanted state threading)
...
closes PR 13327
2012-12-01 11:17:13 -05:00
Ryan Culpepper
d8296a31f5
syntax/parse/experimental/template: make errors consistent with 'syntax'
2012-09-27 12:45:55 -04:00
Ryan Culpepper
008d1f7f1b
syntax/parse/experimental/template: quasitemplate, template/loc
2012-09-24 13:31:03 -04:00
Ryan Culpepper
8a02ff54ac
syntax/parse/experimental/template: improve prop handling & syntax checks
...
Separate parameters for props to serialize and those to transfer.
Make syntax?/list? checks on attributes explicit.
Also add continuation barrier around metafunction application.
2012-09-20 12:28:18 -04:00
Ryan Culpepper
ddcafbc6d1
syntax/parse/experimental/template: fix ellipses/depth rules again
2012-09-20 12:19:51 -04:00
Ryan Culpepper
35a0e50de4
syntax/parse/experimental/template: fixed bugs, added error tests
2012-09-17 18:11:44 -04:00
Ryan Culpepper
fcac1fdc50
syntax/parse/experimental/template: fix bad initial environment
2012-09-17 12:29:17 -04:00
Ryan Culpepper
32ae484c72
syntax/parse: fix scoping of this-syntax (include formals)
2012-08-13 18:47:02 -04:00
Ryan Culpepper
0ea03360c3
template: improve syntax property support
2012-08-03 18:14:16 -04:00
Ryan Culpepper
9e566a90ac
find syntax properties to transfer at compile time
2012-07-31 19:15:21 -04:00
Ryan Culpepper
e10951024f
syntax/parse: fix bug in specialized code for ellipsis patterns
...
The result of 'stx->list' is not always either a list or #f.
Merge to 5.3.
2012-07-28 17:37:06 -04:00
Ryan Culpepper
3bde72ffb0
syntax/parse: fix dependencies of experimental modules
2012-05-07 14:46:14 -06:00
Ryan Culpepper
74ca931f5a
more template improvements
...
- loosen pattern variable depth rules (now compatible with syntax)
- generalize ?? form to head-templates
- doc improvements
- propagate paren-shape property
2012-03-21 17:48:10 -06:00
Ryan Culpepper
df265ddc67
syntax/parse: eliminate old minimatch struct syntaxes
2012-03-21 17:33:08 -06:00
Ryan Culpepper
6c369f2563
updates to syntax/parse/experimental/template
...
- changed substitute to use closure-compilation
- added stress/perf test for templates
- updated minimatch with vector patterns
- split substitute into separate file, minimize dependencies
- do ellipsis optimization dynamically
- validate guides: check var indexes
2012-03-21 17:33:08 -06:00
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
a0065b9efa
syntax/parse: cut-prompt is inherited, not threaded
2012-03-08 01:17:47 -07:00
Ryan Culpepper
14089e0ac6
syntax/parse: clean up integrable stxclass code
2012-03-08 01:17:47 -07:00
Ryan Culpepper
3e6069a70f
syntax/parse: optimize common ellipsis patterns
2012-02-28 05:27:58 -07:00
Ryan Culpepper
2a3d6d5c31
syntax/parse: add attribute-prefix check to template form
...
(template x.y) raises an error if x an attribute but x.y is not.
2012-02-28 05:27:57 -07:00
Ryan Culpepper
5a1badf397
syntax/parse: added template metafunctions
...
Also fixed some bugs and added simple optimizations.
2012-02-10 22:12:54 -07:00
Ryan Culpepper
06979954fa
syntax/parse: added experimental template form
...
Also added more atomic patterns to syntax-parse (previously overlooked).
2012-02-10 05:26:13 -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
a1009bbf26
syntax/parse: add begin-for-syntax to kernel-literals
2011-10-07 19:40:48 -06:00
Ryan Culpepper
38d984367e
syntax/parse: fix check-literals code (references to disappearing names)
2011-10-02 14:17:07 -06:00
Ryan Culpepper
a22783f635
syntax/parse: added workaround for racket/runtime-path at phase>0
2011-09-30 04:13:09 -06:00
Ryan Culpepper
5befa7320f
syntax/id-table: added uncontracted private version
2011-09-30 04:13:09 -06:00
Ryan Culpepper
323aff1efb
syntax/parse: added syntax/parse/pre
...
No *residual* dependencies on racket/contract/base (the *disappearing*
macro transformers and compile-time support do use contracts, though).
2011-09-30 04:13:09 -06: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
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