Ryan Culpepper
|
1e0eb983a9
|
syntax/parse template: reorganize code, update comments
|
2018-01-18 16:59:26 +01:00 |
|
Ryan Culpepper
|
f8e01d52c6
|
syntax/parse template: encourage inlining of template combinators
With inlining, the optimizer can turn templates into mostly
first-order code.
|
2018-01-18 16:59:26 +01:00 |
|
Ryan Culpepper
|
034cde0a97
|
syntax/parse template: track syntax vs non-syntax pairs in template
Allows generation of more specialized code (hopefully smaller
and faster).
Also clean up some other guide reps.
|
2018-01-18 16:59:26 +01:00 |
|
Ryan Culpepper
|
a827322128
|
syntax/parse template: change run-time strategy
Instead of doing run-time interpretation of a "guide" tree,
generate code for procedure (using stx -> stx combinators).
|
2018-01-18 16:59:10 +01:00 |
|
Ryan Culpepper
|
1795b7af5f
|
syntax/parse template: remove syntax-property handling
Since template was written, Racket has added a notion of preserved
syntax properties.
|
2018-01-18 15:01:28 +01:00 |
|
Ryan Culpepper
|
f238a16fbc
|
syntax/parse: add ~or* and ~alt, like ~or{S,H} and ~or{EH}, respectively
|
2018-01-18 14:59:28 +01:00 |
|
Ryan Culpepper
|
fc25ef0323
|
support string, bytes (bindings from racket) as stxclass refs
add compile-time table as alternative to stxclass binding
|
2018-01-18 14:58:31 +01:00 |
|
Ryan Culpepper
|
2c1a36f55f
|
syntax/parse: clean up "at"/"within"-term handling
Added comments and examples about "at" and "within" terms
Fixed ps->stx+index bugs related to struct and vector patterns
|
2018-01-18 14:56:26 +01:00 |
|
Ryan Culpepper
|
2de80c8091
|
syntax/parse: fix ps->stx+index; fixes #1602
Collapse CDR frames separated by ORD, POST, etc. For example,
(1 ORD 2 stx) should be same as (3 stx).
|
2018-01-18 14:56:09 +01:00 |
|
Georges Dupéron
|
6ac55c8e72
|
Applied changes requested by @rmculpepper for PR #1587
|
2018-01-18 14:55:58 +01:00 |
|
Georges Dupéron
|
c5df776e82
|
Partial inclusion of upstream changes, to avoid a compilation error.
|
2017-09-01 13:55:02 +02:00 |
|
Georges Dupéron
|
8b2fa5e5c2
|
Fixed typo #%intef-begin → #%intdef-begin
|
2017-02-03 15:34:12 +01:00 |
|
Georges Dupéron
|
21ee81c841
|
Require auto-syntax-e in residual. Provide template-metafunction?
|
2017-02-03 10:17:55 +01:00 |
|
Georges Dupéron
|
25ed9ec068
|
Integrate auto-syntax-e, as this needs a deep modification in the syntax-mapping struct
|
2017-02-01 08:01:18 +01:00 |
|
Georges Dupéron
|
c259afbe61
|
Removed parse/private/keywords.rkt, to improve compatibility with the official syntax/parse (that file defines ~optional etc.)
|
2017-01-28 05:16:59 +01:00 |
|
Georges Dupéron
|
bff27464a9
|
Bugfix and tests for define/with-syntax
|
2017-01-28 05:16:58 +01:00 |
|
Georges Dupéron
|
ad27231d00
|
Support #:properties on all four of (quasi)template(/loc), instead of just template.
|
2017-01-28 05:16:57 +01:00 |
|
Georges Dupéron
|
de60a419e2
|
Cherry-pick PR #1514: Added a syntax-local-template-metafunction-introduce function, so that template metafunctions can be unhygienic if necessary.
|
2017-01-28 05:16:57 +01:00 |
|
Georges Dupéron
|
64edde1f2d
|
Re-add syntax/parse/experimental/private/substitute, so that we can apply PR #1514
|
2017-01-28 05:16:56 +01:00 |
|
Georges Dupéron
|
5d2f8cc512
|
Partially reverted previous commit.
|
2017-01-28 05:16:51 +01:00 |
|
Georges Dupéron
|
29c90350b2
|
Failed attempt at making metafunctions from syntax/parse/experimental/template and stxparse-info/parse/experimental/template compatible. I can manage to extract the binding from syntax/parse/…, but it seems to recognize a different struct (e.g. as if they were struct instances from two different phases)
|
2017-01-28 05:16:50 +01:00 |
|
Georges Dupéron
|
5be04ef8fd
|
Removed all structure definitions from the copy of syntax/parse, and used the ones definied in the official syntax/parse
|
2017-01-28 05:16:48 +01:00 |
|
Georges Dupéron
|
41634ba262
|
Attempt to fix residual bug
|
2017-01-28 05:16:42 +01:00 |
|
Georges Dupéron
|
c42aef881c
|
Support for define/syntax-parse, including when there are multiple defines. Search for the most up-to-date list of current-pvars is done by performing a dichotomy over a set of sequentially numbered current-pvars-paramNNN. Closes FB case 180.
|
2017-01-28 05:16:41 +01:00 |
|
Georges Dupéron
|
9bfa089c45
|
Bugfix: with-pvars must be called after binding the pvar, not before.
|
2017-01-28 05:16:38 +01:00 |
|
Georges Dupéron
|
45003e6e42
|
Implemented current-pvars
|
2017-01-28 05:16:36 +01:00 |
|
Georges Dupéron
|
02a0d43d0d
|
Changed syntax/parse module paths to stxparse-info/parse
|
2017-01-28 05:16:33 +01:00 |
|
Georges Dupéron
|
8d4f899aa3
|
Imported files from 28f1df4cff
|
2017-01-28 05:16:11 +01:00 |
|