Commit Graph

98 Commits

Author SHA1 Message Date
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