Commit graph

26011 commits

Author SHA1 Message Date
Leonardo de Moura
d4ae9e73b1 fix: missing comma 2020-12-15 20:29:28 -08:00
Leonardo de Moura
ed87480093 refactor: move to attr syntax category 2020-12-15 20:22:04 -08:00
Leonardo de Moura
42a28261fd chore: temporarily use 100000 as priority 2020-12-15 20:21:27 -08:00
Leonardo de Moura
52c815e750 chore: update stage0 2020-12-15 20:18:53 -08:00
Leonardo de Moura
095a27c197 feat: add missing attribute parsers 2020-12-15 20:18:26 -08:00
Leonardo de Moura
1c3a585475 chore: update stage0 2020-12-15 17:21:58 -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
a08848052f chore: update stage0 2020-12-15 16:47:17 -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
152ad612dd chore: update stage0 2020-12-15 16:14:06 -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
4e503b3728 chore: update stage0 2020-12-15 15:41:19 -08:00
Leonardo de Moura
d4f4eda0ea feat: make sure expandMacro reduces prec and prio DSLs 2020-12-15 15:27:39 -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
f251f9b6fa chore: update stage0 2020-12-14 18:08:19 -08:00
Leonardo de Moura
c71eebde8c chore: remove util/buffer.h dependency from runtime 2020-12-14 18:07:28 -08:00
Leonardo de Moura
d542b6ae40 chore: update stage0 2020-12-14 17:55:32 -08:00
Leonardo de Moura
6985223a55 chore: switch to attrParam 2020-12-14 17:52:28 -08:00
Leonardo de Moura
ac440aa6ea chore: update stage0 2020-12-14 17:34:18 -08:00
Leonardo de Moura
69e8385f8d refactor: move prioParser to Term.lean 2020-12-14 17:33:38 -08:00
Leonardo de Moura
c0b90e9341 chore: update stage0 2020-12-14 17:29:04 -08:00
Leonardo de Moura
0004196977 feat: add attrParam builtin parsers 2020-12-14 17:27:28 -08:00
Leonardo de Moura
4811a207e6 chore: update stage0 2020-12-14 16:46:44 -08:00
Leonardo de Moura
a3fe907a28 feat: add attrParam syntax category
cc @Kha
2020-12-14 16:45:05 -08:00
Leonardo de Moura
f5de22ee36 chore: fix tests 2020-12-14 16:34:06 -08:00
Leonardo de Moura
c0470e407e chore: update stage0 2020-12-14 16:29:45 -08:00
Leonardo de Moura
abe7481453 feat: elaborate prio DSL 2020-12-14 16:25:10 -08:00
Leonardo de Moura
a2afd10060 feat: prio DSL 2020-12-14 16:07:02 -08:00
Leonardo de Moura
7e6a9fa53a chore: update stage0 2020-12-14 16:04:50 -08:00
Leonardo de Moura
acba8d4a4a chore: cleanup 2020-12-14 16:01:52 -08:00
Leonardo de Moura
6909faf4a2 chore: update stage0 2020-12-14 15:37:02 -08:00
Leonardo de Moura
fcaf38d566 fix: handle prec DSL at infixl macro 2020-12-14 15:35:37 -08:00
Leonardo de Moura
68f943a753 chore: update stage0 2020-12-14 15:16:44 -08:00
Leonardo de Moura
a46505cb8b feat: use new precedence syntax 2020-12-14 15:14:03 -08:00
Leonardo de Moura
911a433010 chore: remove temp comments 2020-12-14 15:10:41 -08:00
Leonardo de Moura
eddacf6b09 chore: update stage0 2020-12-14 15:06:28 -08:00
Leonardo de Moura
f95a450894 feat: add builtin prec/prio parsers 2020-12-14 15:05:39 -08:00
Leonardo de Moura
cfb60c0cf3 chore: avoid auto generated names 2020-12-14 14:49:34 -08:00
Leonardo de Moura
fd2bd91709 chore: update stage0 2020-12-14 13:45:05 -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
046f4866b6 chore: update stage0 2020-12-14 13:26:30 -08:00
Leonardo de Moura
7d1d7dc171 feat: prec DSL 2020-12-14 13:25:08 -08:00
Leonardo de Moura
216d34e178 feat: add prio parser category 2020-12-14 13:24:56 -08:00
Leonardo de Moura
35f9518559 chore: update stage0 2020-12-14 13:09:27 -08:00
Leonardo de Moura
c5e201bce6 feat: add prec syntax category 2020-12-14 13:09:27 -08:00