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
|
fdc06b39cd
|
test(tests/lean/parser1): fix reprint check
|
2018-10-13 08:01:39 -07:00 |
|
Leonardo de Moura
|
aff6d58659
|
chore(tests/lean/run/new_compiler): fix test
|
2018-10-10 18:38:18 -07:00 |
|
Leonardo de Moura
|
c74f4c16ca
|
feat(library/kernel,library/compiler/csimp): make sure nat.rec and nat.cases_on reduce when major premise is a nat literal
|
2018-10-10 18:35:15 -07:00 |
|
Leonardo de Moura
|
338038a05e
|
feat(library/init/core): add inline identity function
|
2018-10-10 18:17:29 -07:00 |
|
Leonardo de Moura
|
124b4d37fe
|
feat(library/compiler): port simp_inductive to the new compiler stack
This commit also fixes a bug in the old `simp_inductive` module, and
removes now obsolete files (`compiler_step_visitor` and `old_util`).
|
2018-10-08 16:58:43 -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
|
5596eea27b
|
test(tests/lean/parser1): deactivate core.lean test
|
2018-10-01 14:38:30 -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
|
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 |
|
Leonardo de Moura
|
8556365e9c
|
chore(tests/lean): remove old tests
|
2018-09-27 15:19:57 -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 |
|
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
|
377e256cc0
|
test(tests/lean/parser1): simple macro test
|
2018-09-25 18:37:43 -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 |
|
Leonardo de Moura
|
017261960c
|
feat(library/compiler/csimp): add float_cases_on
|
2018-09-24 18:10:26 -07:00 |
|
Sebastian Ullrich
|
7f00149338
|
chore(tests/lean/parser1): fix test after rebase
|
2018-09-24 09:57:42 -07:00 |
|
Sebastian Ullrich
|
db0fc4a448
|
feat(library/init/lean/expander): very basic expander
|
2018-09-24 09:53:28 -07:00 |
|
Leonardo de Moura
|
1534f17a89
|
feat(library/compiler/lcnf): add better support for complete-transition used in the equation compiler and x@ patterns
|
2018-09-20 21:38:57 -07:00 |
|
Leonardo de Moura
|
f556e0947b
|
fix(library/compiler/lcnf): bug, minor premise must have a lambda for each field in LCNF
|
2018-09-20 21:38:57 -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
|
6f68a0d1eb
|
feat(library/init/lean/parser/basic): check for conflicting tokens
|
2018-09-20 09:40:21 -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
|
e3afe02786
|
feat(library/init/lean/parser/declaration): doc comments and axioms
|
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
|
ea4d7af66d
|
refactor(library/init/lean/parser/command): move out notations
|
2018-09-17 18:47:50 -07:00 |
|
Leonardo de Moura
|
52d1abf0bc
|
feat(library/compiler): add cse to new compiler stack
|
2018-09-14 17:48:18 -07:00 |
|
Leonardo de Moura
|
e8ab46619b
|
chore(tests/lean/run/new_compiler): fix test
|
2018-09-14 16:42:53 -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
|
0c3a1b07a5
|
chore(library/init/lean/parser/syntax): hide lean.parser prefix in syntax.to_format
|
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 |
|
Leonardo de Moura
|
7174d53820
|
feat(library/compiler/csimp): distribute application over cases
|
2018-09-14 15:14:40 -07:00 |
|