Leonardo de Moura
0fa262bb93
feat: add priority to InstanceEntry
2020-12-16 10:40:58 -08:00
Sebastian Ullrich
29c2023410
fix: adapt to new matchAlt syntax
2020-12-16 18:52:56 +01:00
Sebastian Ullrich
4812f2aa64
chore: restore correct position for match errors
2020-12-16 18:27:05 +01:00
Sebastian Ullrich
f9dcbbddc4
refactor: remove optional leading pipe from match, use many1Indent instead of sepBy1
2020-12-16 18:27:05 +01:00
Sebastian Ullrich
d22d639fcb
refactor: rename "antiquot scope" ~> "antiquot splice"
2020-12-16 17:44:20 +01:00
Leonardo de Moura
97642bd000
fix: prio issue
2020-12-16 07:44:48 -08:00
Leonardo de Moura
a008816102
chore: remove workaround
2020-12-16 07:34:40 -08:00
Leonardo de Moura
3d5082dde3
feat: simplify Attr.simple parser
2020-12-16 07:29:18 -08:00
Leonardo de Moura
7b67cd2c4a
chore: fix priorities
2020-12-16 07:11:02 -08:00
Leonardo de Moura
e3540a5d8f
chore: remove high builtin parser
...
It doesn't allow us to use `high` at `Prelude.lean` because
the macro expander for it is only defined at `Notation.lean`
2020-12-16 06:42:52 -08:00
Leonardo de Moura
16747d3986
chore: remove attrParam syntax category
2020-12-15 21:47:24 -08:00
Leonardo de Moura
31e1851b21
fix: priority
2020-12-15 21:10:02 -08:00
Leonardo de Moura
901e58b131
fix: priority
2020-12-15 20:57:00 -08:00
Leonardo de Moura
b981b0d2b3
chore: missing case
2020-12-15 20:29:42 -08:00
Leonardo de Moura
ed87480093
refactor: move to attr syntax category
2020-12-15 20:22:04 -08:00
Leonardo de Moura
095a27c197
feat: add missing attribute parsers
2020-12-15 20:18:26 -08:00
Leonardo de Moura
eeac7fb9f4
feat: declare builtin attr parsers for builtin attributes
...
@Kha I believe this is the minimal set for covering the attributes we
have right now. The parser `simple` covers most of them, and the
dispatch is performed using the identifier.
Otherwise, the dispatch will be based on the node kind.
The `simple` parser is a bit hackish, but it is quite covenient for
simple attributes that do not require complex parameters.
2020-12-15 17:20:28 -08:00
Leonardo de Moura
6100ed9283
feat: add LeadingIdentBehavior type
...
Different strategies for handling the leading identifier in the
`Pratt` parser loop.
2020-12-15 16:45:14 -08:00
Leonardo de Moura
9e3b3b2495
refactor: move attribute related parsers to separate file
2020-12-15 16:13:11 -08:00
Leonardo de Moura
c9f766af5a
feat: we don't want attribute names as keywords
2020-12-15 15:59:48 -08:00
Leonardo de Moura
f4db2f5971
fix: workaround for old frontend
2020-12-15 15:49:45 -08:00
Leonardo de Moura
3ee6aec466
feat: add attr parser category
2020-12-15 15:44:46 -08:00
Leonardo de Moura
195ec0705e
feat: expand macros in attributes eagerly
...
The `AttrM` monad does not have sufficient information for expanding
macros. So, we expand them eagerly before we invoke the attributer
handlers implemented using `AttrM`.
cc @Kha
2020-12-15 15:11:19 -08:00
Leonardo de Moura
7bc630a54d
chore: remove old frontend leftover
2020-12-15 14:58:40 -08:00
Leonardo de Moura
066cae26fb
chore: cleanup
2020-12-15 13:51:03 -08:00
Leonardo de Moura
6985223a55
chore: switch to attrParam
2020-12-14 17:52:28 -08:00
Leonardo de Moura
69e8385f8d
refactor: move prioParser to Term.lean
2020-12-14 17:33:38 -08:00
Leonardo de Moura
0004196977
feat: add attrParam builtin parsers
2020-12-14 17:27:28 -08:00
Leonardo de Moura
a3fe907a28
feat: add attrParam syntax category
...
cc @Kha
2020-12-14 16:45:05 -08:00
Leonardo de Moura
abe7481453
feat: elaborate prio DSL
2020-12-14 16:25:10 -08:00
Leonardo de Moura
acba8d4a4a
chore: cleanup
2020-12-14 16:01:52 -08:00
Leonardo de Moura
fcaf38d566
fix: handle prec DSL at infixl macro
2020-12-14 15:35:37 -08:00
Leonardo de Moura
a46505cb8b
feat: use new precedence syntax
2020-12-14 15:14:03 -08:00
Leonardo de Moura
f95a450894
feat: add builtin prec/prio parsers
2020-12-14 15:05:39 -08:00
Leonardo de Moura
65bb478f7a
feat: expand prec.quot and prio.quot, add helper command macro elabStxQuot!
2020-12-14 13:36:26 -08:00
Leonardo de Moura
216d34e178
feat: add prio parser category
2020-12-14 13:24:56 -08:00
Leonardo de Moura
c5e201bce6
feat: add prec syntax category
2020-12-14 13:09:27 -08:00
Leonardo de Moura
469c9b7bbf
chore: remove TODO
2020-12-14 11:50:22 -08:00
Leonardo de Moura
5a5a49a54a
feat: add class abbrev macro
2020-12-14 10:19:00 -08:00
Leonardo de Moura
f24fff7985
chore: remove temporary workaround
2020-12-14 10:08:29 -08:00
Leonardo de Moura
a0463e8fa8
feat: elaborate new stactic quotations
2020-12-14 09:28:04 -08:00
Leonardo de Moura
ac692bfc79
feat: add new static quotations
...
For users that are writing (not-trivial) macros without `import Lean`.
cc @Kha
2020-12-14 09:21:26 -08:00
Leonardo de Moura
c7a8fa2629
chore: expose a few auxiliary command parsers
2020-12-14 09:15:26 -08:00
Leonardo de Moura
4001407f10
refactor: add MonadError class abbreviation
2020-12-14 09:15:26 -08:00
Sebastian Ullrich
314c5c9d41
feat: run single non-category quotation under interpreter as well
2020-12-14 17:13:59 +01:00
Sebastian Ullrich
a9bdb2f70a
feat: prefer interpreter for running builtin parsers in quotations
2020-12-14 16:45:32 +01:00
Sebastian Ullrich
0316c872b9
feat: macro: use appropriate antiquotation kind dependent on bound syntax
...
/cc @leodemoura
2020-12-14 13:54:34 +01:00
Leonardo de Moura
0d9694d836
chore: user deriving BEq
2020-12-13 16:30:07 -08:00
Leonardo de Moura
bad714f5e9
feat: add deriving BEq
2020-12-13 16:13:27 -08:00
Leonardo de Moura
0862df9ade
fix: missing ppSpace at set_option parser
2020-12-13 15:52:03 -08:00