ppx_tyreversion
PPX syntax for tyre regular expressions and routes
This PPX compiles
[%tyre {|re|}]
into 'a Tyre.t
and
function%tyre
| {|re1|} as x1 -> e1
...
| {|reN|} as x2 -> eN
into 'a Type.route
, where re
, re1
, ... are regular expressions
expressed in a slightly extended subset of PCRE. The interpretations are:
re?
extracts an option of whatre
extracts.re+
,re*
,re{n,m}
extracts a list of whatre
extracts.(?@qname)
refers to any identifier bound to a typed regular expression of type'a Tyre.t
.- One or more
(?<v>re)
at the top level can be used to bind variables instead ofas ...
. - One or more
(?<v>re)
in a sequence extracts an object where each methodv
is bound to whatre
extracts. - An alternative with one
(?<v>re)
per branch extracts a polymorphic variant where each constructor`v
receives whatre
extracts as its argument. (?&v:qname)
is a shortcut for(?<v>(?&qname))
.
Authors | Gabriel Radanne <drupyog@zoho.com> and Petter A. Urkedal <paurkedal@gmail.com> |
---|---|
License | LGPL-3.0-only WITH OCaml-LGPL-linking-exception |
Published | |
Homepage | https://github.com/paurkedal/ppx_regexp |
Issue Tracker | https://github.com/paurkedal/ppx_regexp/issues |
Maintainer | Petter A. Urkedal <paurkedal@gmail.com> |
Dependencies |
|
Source [http] | https://github.com/paurkedal/ppx_regexp/releases/download/v0.4.3/ppx_regexp-v0.4.3.tbz sha256=70cbf4495de5e8ca4aada49c4fe25c586858dade8448efef29fd2d2ea620d413 sha512=284f4b7c99125e26697f1691909fb2ba6e9d6c7fb74c6272c442bee84211486d566183db928b1bc5b3a2c385372e830cfec3e6fb3cb4184f16805bb420bc85be |
Edit | https://github.com/ocaml/opam-repository/tree/master/packages/ppx_tyre/ppx_tyre.0.4.3/opam |
No package is dependent