Sebastian Ullrich
|
9a0b1c7a7f
|
feat(library/init/lean/parser/basic): allow views to specify default value used with opt_param when nested in other views
|
2018-09-24 09:53:28 -07:00 |
|
Sebastian Ullrich
|
41c0bc87fd
|
refactor(library/init/lean/parser): make views shallow via tysyntax
|
2018-09-22 21:24:38 -07:00 |
|
Sebastian Ullrich
|
0a8d0a6870
|
feat(library/init/lean/parser/term): projection notation
|
2018-09-20 09:40:21 -07:00 |
|
Sebastian Ullrich
|
64a5d0f240
|
refactor(library/init/lean/parser): has_tokens default
|
2018-09-20 09:38:10 -07:00 |
|
Sebastian Ullrich
|
c7c459d47b
|
Revert "perf(library/init/lean/parser): collect tokens in trie instead of list, do not inline"
This reverts commit e4c50b2b09.
Lists are efficient enough and make it easier to customize the trie construction.
Keep the `donotinline` though.
|
2018-09-20 09:38:10 -07:00 |
|
Sebastian Ullrich
|
e4c50b2b09
|
perf(library/init/lean/parser): collect tokens in trie instead of list, do not inline
|
2018-09-19 12:36:34 -07:00 |
|
Sebastian Ullrich
|
80e37aa8c5
|
chore(library/init/lean/parser): improve error messages
|
2018-09-19 12:36:34 -07:00 |
|
Sebastian Ullrich
|
1f239c9f2a
|
feat(library/init/lean/parser/syntax): pretty-print ident nodes
Painfully, because `ident.view` is not defined yet
|
2018-09-17 18:47:50 -07:00 |
|
Sebastian Ullrich
|
fa0148e5b8
|
feat(library/init/lean/parser): declarations and binders
|
2018-09-17 18:47:50 -07:00 |
|
Sebastian Ullrich
|
a6f25e2ae7
|
refactor(library/init/lean/parser/token): id ~> ident, ident ~> ident.parser
|
2018-09-17 18:47:50 -07:00 |
|
Sebastian Ullrich
|
6b28162eee
|
chore(library/init/lean/parser/combinators): move out combinators
|
2018-09-17 18:47:50 -07:00 |
|
Sebastian Ullrich
|
906f59e16e
|
fix(library/init/lean/parser/token): token': do not ignore source_info
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
ae7df32428
|
refactor(library/init/lean/parser/syntax): setting source_info.leading is much easier after parsing
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
b95ba21702
|
chore(library/init/lean/parser): fix syntax_node_kind names
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
8aa621efb2
|
refactor(library/init/lean/{syntax,macro}): remove syntax.ident, simply syntax.atom, remove expander prototype
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
5e180cd170
|
feat(library/init/lean/parser/token): create structure-preserving syntax trees for identifiers
Also generalize `raw_symbol` to `raw`
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
6c11f99aae
|
fix(library/init/lean/parser): do not use raw_symbol on keywords
Otherwise `Type (maxx u v)` would be parsed as `Type (max x u v)`
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
468ac814a7
|
perf(library/init/lean/parser/token): move number' out of longest_match call
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
384389c84b
|
refactor(library/init/lean/parser/basic): move out rec_t and trie
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
6733d5ab21
|
feat(library/init/lean/parser/token): comments are not tokens anymore
|
2018-09-14 16:33:04 -07:00 |
|
Sebastian Ullrich
|
98e09c274f
|
feat(library/init/lean/parser/{pratt,level}): factor out pratt combinator, implement level parsers
|
2018-09-13 16:38:40 -07:00 |
|
Sebastian Ullrich
|
c7d8271c84
|
feat(library/init/lean/parser/token): save lbp in token_config
|
2018-09-06 17:16:57 -07:00 |
|
Sebastian Ullrich
|
66ebd5d7d6
|
feat(library/init/lean/parser): implement new tokenizer using trie
test execution went down from 3.5s to 1.5s
|
2018-09-04 14:06:43 -07:00 |
|
Sebastian Ullrich
|
93d13ffea3
|
chore(library/init/lean): lean.parser.reader ~> lean.parser
|
2018-08-30 16:34:47 -07:00 |
|