www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

README.md (1425B)


      1 [![Build Status,](https://img.shields.io/travis/jsmaniac/stxparse-info/main.svg)](https://travis-ci.org/jsmaniac/stxparse-info)
      2 [![Coverage Status,](https://img.shields.io/codecov/c/github/jsmaniac/stxparse-info/main.svg)](https://codecov.io/gh/jsmaniac/stxparse-info)
      3 [![Build Stats,](https://img.shields.io/badge/build-stats-blue.svg)](http://jsmaniac.github.io/travis-stats/#jsmaniac/stxparse-info)
      4 [![Online Documentation,](https://img.shields.io/badge/docs-online-blue.svg)](http://docs.racket-lang.org/stxparse-info/)
      5 
      6 
      7 stxparse-info
      8 =============
      9 
     10 The module `stxparse-info/parse` is a patched version of `syntax/parse` which
     11 tracks which syntax pattern variables are bound. This allows some libraries to
     12 change the way syntax pattern variables work.
     13 
     14 For example, `phc-graph/subtemplate` automatically derives temporary
     15 identifiers when a template contains `yᵢ …`, and `xᵢ` is a pattern
     16 variable. To know from which `varᵢ` the `yᵢ …` identifiers must be derived,
     17 `phc-graph/subtemplate` needs to know which syntax pattern variables are
     18 within scope.
     19 
     20 To use this package, simply require `stxparse-info/pares` instead of
     21 `syntax/parse` Additionally, it is possible to use the for-syntax function
     22 `(current-pvars)` from `stxparse-info/current-pvars` to access the list of
     23 currently-bound pattern variables, and the macro `(with-pvars (pvar ...)
     24 . body)` can be used to add new pattern variables to the list.