Leonardo de Moura
|
15a25d5aa9
|
chore(library/init/lean/parser): add a few comments
|
2018-10-11 15:54:57 -07:00 |
|
Sebastian Ullrich
|
ebeec844af
|
perf(library/init/lean/parser): minor performance tweaks
|
2018-10-05 08:52:04 -07:00 |
|
Sebastian Ullrich
|
ca8e75be9e
|
fix(library/init/lean/elaborator): check for and consume end of input
|
2018-10-03 16:00:08 -07:00 |
|
Sebastian Ullrich
|
203545ce99
|
chore(library/init/lean/parser/trie): add debug print
Also make sure it's in the prelude, whoops
|
2018-09-28 13:08:24 -07:00 |
|
Sebastian Ullrich
|
2e5ea16e2f
|
perf(library/init/lean/parser): cache consecutive calls to token at the same position
Parser performance improved by about 33%
|
2018-09-27 16:08:19 -07:00 |
|
Sebastian Ullrich
|
26c0f36848
|
doc(library/init/lean/parser/basic): expand comment
|
2018-09-27 10:16:40 -07:00 |
|
Sebastian Ullrich
|
e661aaeacf
|
refactor(library/init/lean/parser): store registered parsers in configs, use config hierarchy to avoid mutually recursive types
And other refactorings along the way
|
2018-09-27 10:05:10 -07:00 |
|
Sebastian Ullrich
|
2c07922327
|
refactor(library/init/lean/parser): minimize parser_state, have the module coroutine take and return parser_config
|
2018-09-26 13:20:07 -07:00 |
|
Sebastian Ullrich
|
1d01e81de8
|
refactor(library/init/lean/parser): do not construct final syntax tree independent from intermediate outputs
This makes sure we have a single consistent view of the file
|
2018-09-25 18:28:53 -07:00 |
|
Sebastian Ullrich
|
32f4d52e1c
|
refactor(library/init/lean): revert introduction of tysyntax; push syntax.missing through views
|
2018-09-24 18:24:27 -07:00 |
|
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
|
d7d968cead
|
feat(library/init/lean/parser/basic): merge explicit and default (0) token precedences
|
2018-09-20 09:40:21 -07:00 |
|
Sebastian Ullrich
|
6f68a0d1eb
|
feat(library/init/lean/parser/basic): check for conflicting tokens
|
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
|
e3afe02786
|
feat(library/init/lean/parser/declaration): doc comments and axioms
|
2018-09-19 12:36:34 -07:00 |
|
Sebastian Ullrich
|
fa0148e5b8
|
feat(library/init/lean/parser): declarations and binders
|
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
|
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
|
384389c84b
|
refactor(library/init/lean/parser/basic): move out rec_t and trie
|
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
|
af55cb13e7
|
fix(library/messages,library/init/lean/message): wrap message_log in structure, reverse in the end
|
2018-09-11 13:55:25 -07:00 |
|
Sebastian Ullrich
|
99ab0e9d67
|
refactor(library/messages): make an object_ref
|
2018-09-11 13:55:25 -07:00 |
|
Leonardo de Moura
|
0691d43153
|
feat(library/init/lean/parser/basic): define trie using rbnode (char × trie) nested inductice type
|
2018-09-09 18:19:28 -07:00 |
|
Sebastian Ullrich
|
0d865b37dd
|
feat(library/init/lean/{message,parser}): enhance lean.message
Small regression: order of messages flipped, should eventually be sorted by
position
|
2018-09-08 18:37:58 -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
|
1a53d4444b
|
feat(library/init/lean/parser): parameterize recursive term parser with rbp
|
2018-09-06 17:16:22 -07:00 |
|
Sebastian Ullrich
|
d4105e1e16
|
chore(library/init/lean/parser/basic): avoid nesting rbnode in trie
The new two-layer rbnode/list structure is a little faster
|
2018-09-05 10:37:03 -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 |
|