Sebastian Ullrich
|
2df885d9a3
|
fix(library/init/lean/parser/token): broken end of comment
|
2018-10-13 12:01:48 -07: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 |
|
Leonardo de Moura
|
c0b76704a0
|
chore(library/init/lean/parser/level): typo
|
2018-10-12 11:56:34 -07:00 |
|
Leonardo de Moura
|
15a25d5aa9
|
chore(library/init/lean/parser): add a few comments
|
2018-10-11 15:54:57 -07:00 |
|
Sebastian Ullrich
|
8e0778e54a
|
fix(library/init/lean/parser/token): parse whitespace after raw_ident
|
2018-10-08 09:30:48 -07:00 |
|
Sebastian Ullrich
|
4e3f9b46c2
|
refactor(library/init/lean/parser/token): remove weird with_source higher-order function
|
2018-10-05 08:52:04 -07:00 |
|
Sebastian Ullrich
|
ebeec844af
|
perf(library/init/lean/parser): minor performance tweaks
|
2018-10-05 08:52:04 -07:00 |
|
Sebastian Ullrich
|
22714b9b10
|
perf(library/init/lean/parser/combinators): node: no need to fill up with syntax.missing anymore
Views now do iterated pattern matches instead of a single one
|
2018-10-04 14:27:24 -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
|
5274be8c3e
|
feat(library/init/lean/elaborator): local notation
Implemented by treating the parser cfg as a cache that can be recreated from the
elaborator state after e.g. a scope has ended
|
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
|
097b7be14f
|
refactor(library/init/lean/parser/token): change raw view type to option syntax_atom and create raw_str to give some raw parsers view defaults
|
2018-10-02 14:55:28 -07:00 |
|
Sebastian Ullrich
|
533ac2d5b2
|
fix(library/init/lean/parser/declaration): attributes before visibility modifiers
|
2018-10-02 14:55:28 -07:00 |
|
Sebastian Ullrich
|
71fd8a59b4
|
feat(library/init/lean/parser/notation): simple term language for precedences
|
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 |
|
Leonardo de Moura
|
429f844fbe
|
@chore(library/init/lean/parser/parsec): remove @[inline] annotations to reduce compilation time
We will mark them as `@[specialize]` as soon as we implement code specialization
|
2018-10-01 17:30:13 -07:00 |
|
Sebastian Ullrich
|
ab5460d010
|
perf(library/init/lean/parser/parsec): more [inline] attributes
|
2018-10-01 16:32:11 -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
|
6a23ecfe9c
|
fix(library/init/lean/parser/parsec): fix lookahead, longest_match
|
2018-10-01 09:02:39 -07:00 |
|
Sebastian Ullrich
|
b443006e8f
|
fix(library/init/lean/parser/syntax): reprint: do not concatenate choice contents
|
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
|
df278096c4
|
fix(library/init/lean): fixes fixes fixes
|
2018-09-28 13:08:25 -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
|
5123148aa6
|
feat(library/init/data/string/basic): trim whitespace around symbols
|
2018-09-28 13:08:24 -07:00 |
|
Sebastian Ullrich
|
b6ca2e945d
|
feat(library/init/lean): support unquoted symbols in mixfix notation
|
2018-09-28 13:08:24 -07:00 |
|
Sebastian Ullrich
|
63201c2a78
|
feat(library/init/lean/elaborator): add elaborator, elaborate notation and reserve notation
|
2018-09-28 13:08:24 -07:00 |
|
Sebastian Ullrich
|
1f85d34153
|
chore(library/init/lean/parser/notation): remove old notation <numeric-literal> := ... syntax
|
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
|
e535cd92f7
|
perf(library/init/lean/parser/token): inline hot polymorphic functions
Decreases parser runtime by ~15%
|
2018-09-27 16:02:19 -07:00 |
|
Leonardo de Moura
|
b3451fb682
|
perf(library/init/lean/parser/parsec): merge ok and ok_eps
|
2018-09-27 15:14:37 -07:00 |
|
Leonardo de Moura
|
64b5e05a3e
|
feat(library/init/lean/parser/parsec): try to minimize the amount of inlined code
|
2018-09-27 14:53:30 -07:00 |
|
Leonardo de Moura
|
dd50cc1785
|
feat(library/init/lean/parser/parsec): add orelse_cont to improve compilation time
|
2018-09-27 13:22:18 -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
|
07901fcfcb
|
refactor(library/init/lean/parser/module): put prelude and imports into non-optional header parser to make the life of the elaborator and other consumers a bit easier
|
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
|
f8dd94c4bf
|
feat(library/init/lean/expander): full mixfix and reserve_mixfix expanders
|
2018-09-25 15:05:47 -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 |
|
Leonardo de Moura
|
b4b42ef8b2
|
feat(library/init/lean/parser/parsec): missing [inline]
|
2018-09-24 18:57:49 -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
|
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 |
|