Sebastian Ullrich
|
1d0456adf5
|
fix(library/init/lean/parser/term): revert refactoring that broke sort_apps of Type
|
2018-10-17 09:13:52 +02:00 |
|
Sebastian Ullrich
|
a820b9955f
|
perf(library/init/lean/parser/term): index term parsers by leading token
66% speedup on core.lean
|
2018-10-15 10:21:08 +02:00 |
|
Sebastian Ullrich
|
8a88d4d5e2
|
feat(library/init/lean/parser/token): string literals
hard-coded for now because we do not have general support for variable-length
tokens yet
|
2018-10-13 08:11:36 -07:00 |
|
Sebastian Ullrich
|
758d258210
|
fix(library/init/lean/parser/term): rename term.ident to ident_univs to remove confusion with ident
`protected` didn't do anything here
|
2018-10-13 08:11:36 -07:00 |
|
Sebastian Ullrich
|
959948b901
|
feat(library/init/lean): even more core.lean progress
|
2018-10-03 16:00:08 -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
|
0563c60b1a
|
feat(library/init/lean/elaborator): add coroutine, use it to implement section/namespace elaborators (they don't do anything yet except for checking the end name)
|
2018-10-02 14:55:28 -07:00 |
|
Sebastian Ullrich
|
b8b39585ec
|
fix(library/init/lean/parser/command): variable may take unbracketed binder
|
2018-10-02 14:55:28 -07:00 |
|
Sebastian Ullrich
|
fc5120290f
|
feat(library/init/lean/parser/term): inductive levels, let, structure instances
|
2018-10-02 14:55:28 -07:00 |
|
Sebastian Ullrich
|
7d8c3c5db8
|
feat(library/init/lean/parser/term): use longest_match for Pratt parsing
|
2018-10-01 09:02:39 -07:00 |
|
Sebastian Ullrich
|
945bf39e05
|
feat(library/init/lean): progress
|
2018-09-28 20:50:18 -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
|
bba8beca63
|
feat(library/init/lean/parser/token): give number a view
|
2018-09-25 14:18:52 -07:00 |
|
Sebastian Ullrich
|
4afcc0aab0
|
fix(library/init/lean/parser/term): do not allow mixing bracketed and unbracketed binders
|
2018-09-25 09:16:02 -07:00 |
|
Sebastian Ullrich
|
15927f21c9
|
refactor(library/init/lean/parser/token): unicode_symbol parser
|
2018-09-25 09:16:02 -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
|
ed0a8a8827
|
feat(library/init/lean/parser/combinators): make optional's view default to none
|
2018-09-24 09:53:28 -07:00 |
|
Sebastian Ullrich
|
76ea8169bc
|
feat(library/init/lean/expander): prefix ~> notation macro: construct RHS, move to new module
|
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
|
b859560a83
|
feat(library/init/lean/parser/term): @/@@ notation
|
2018-09-20 09:40:21 -07:00 |
|
Sebastian Ullrich
|
0a8d0a6870
|
feat(library/init/lean/parser/term): projection notation
|
2018-09-20 09:40:21 -07:00 |
|
Sebastian Ullrich
|
b8bd0cc5e6
|
feat(library/init/lean/parser/term): parentheses and tuples
|
2018-09-20 09:40:21 -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
|
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
|
b7f7f257c5
|
feat(library/init/lean/parser/declaration): inductive, structure
|
2018-09-20 09:38:10 -07:00 |
|
Sebastian Ullrich
|
623a6603cb
|
feat(library/init/lean/parser/term): lambda, pi, arrow
|
2018-09-19 12:36:34 -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
|
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
|
7012583245
|
feat(library/init/lean/parser/term): universes on identifiers
|
2018-09-17 18:47:50 -07:00 |
|
Sebastian Ullrich
|
e6b5598d7b
|
chore(library/init/lean/parser/term): actually remove Type*
|
2018-09-13 16:38:40 -07:00 |
|
Sebastian Ullrich
|
ce5618d332
|
chore(library/init/lean/parser/term): remove Sort*, Type*
These can be macros
|
2018-09-13 16:38:40 -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
|
387cd25942
|
feat(library/init/lean/parser/term): implement Pratt parser
|
2018-09-06 17:17:50 -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
|
149dd2a5e3
|
refactor(library/init/lean/parser): move command parsers into separate file
|
2018-09-06 10:46:29 -07:00 |
|
Sebastian Ullrich
|
93d13ffea3
|
chore(library/init/lean): lean.parser.reader ~> lean.parser
|
2018-08-30 16:34:47 -07:00 |
|