Leonardo de Moura
|
52d1abf0bc
|
feat(library/compiler): add cse to new compiler stack
|
2018-09-14 17:48:18 -07:00 |
|
Leonardo de Moura
|
ef21f069bd
|
refactor(library/compiler): add is_cases_on_app helper function
|
2018-09-14 17:33:03 -07:00 |
|
Leonardo de Moura
|
8571430a34
|
chore(library/compiler): cse ==> old_cse
|
2018-09-14 16:58:37 -07:00 |
|
Leonardo de Moura
|
9e265f8c7f
|
chore(library/compiler/csimp): remove unused var
|
2018-09-14 16:46:25 -07:00 |
|
Leonardo de Moura
|
e8ab46619b
|
chore(tests/lean/run/new_compiler): fix test
|
2018-09-14 16:42:53 -07:00 |
|
Leonardo de Moura
|
242ab16d1c
|
feat(library/compiler/csimp): simplify cases minor premises
|
2018-09-14 16:40:22 -07:00 |
|
Leonardo de Moura
|
8380035a6c
|
fix(library/compiler/csimp): bug at find
|
2018-09-14 16:40:22 -07:00 |
|
Leonardo de Moura
|
768a45b7f9
|
feat(library/compiler/csimp): avoid unnecessary let-decls
|
2018-09-14 16:40:22 -07:00 |
|
Leonardo de Moura
|
8840f340aa
|
feat(library/compiler/csimp): add reduction for application over cast
|
2018-09-14 16:40:22 -07:00 |
|
Sebastian Ullrich
|
65816d8b87
|
chore(library/message_builder): handle nested kernel exceptions
|
2018-09-14 16:33:04 -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
|
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
|
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
|
123adc1ae2
|
fix(library/init/lean/parser/parsec): longest_match: do not consume if no parser consumed
|
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
|
fea637288d
|
fix(library/init/data/nat/basic,library/vm/vm_nat): regression in old compiler: primitive for nat equality was ignored
Improves parser performance by 26%
|
2018-09-14 16:33:04 -07:00 |
|
Leonardo de Moura
|
1cc60fdeac
|
feat(library/compiler): add helper functions
|
2018-09-14 15:41:01 -07:00 |
|
Leonardo de Moura
|
964e2f3efb
|
feat(library/compiler/csimp): merge application-application
|
2018-09-14 15:23:50 -07:00 |
|
Leonardo de Moura
|
7174d53820
|
feat(library/compiler/csimp): distribute application over cases
|
2018-09-14 15:14:40 -07:00 |
|
Leonardo de Moura
|
1c0ff0db72
|
fix(library/compiler/lcnf): make sure lc_cast applications are not overapplied
|
2018-09-14 15:08:35 -07:00 |
|
Leonardo de Moura
|
24de0e95f1
|
feat(library/compiler/lcnf): make test complete
|
2018-09-14 14:45:51 -07:00 |
|
Leonardo de Moura
|
75b494e33d
|
feat(library/compiler): use new constructor info
|
2018-09-14 13:51:53 -07:00 |
|
Leonardo de Moura
|
4874e25715
|
feat(kernel): save constructor idx and nfields at constructor_val
|
2018-09-14 13:45:58 -07:00 |
|
Leonardo de Moura
|
31a9a22641
|
test(tests/lean/run/new_compiler): add test
|
2018-09-14 13:35:41 -07:00 |
|
Leonardo de Moura
|
a2c5daeded
|
feat(library/compiler/lcnf): modify LCNF format
Now, the body of a let-expression is atomic.
|
2018-09-14 13:26:24 -07:00 |
|
Leonardo de Moura
|
eb2d8543f7
|
chore(library/compiler/lcnf): add comment
|
2018-09-14 12:03:17 -07:00 |
|
Leonardo de Moura
|
5ed05db261
|
test(tests/lean/run/new_compiler): add test for new compiler stack
|
2018-09-14 09:46:02 -07:00 |
|
Leonardo de Moura
|
dc1b3aceda
|
fix(library/compiler/csimp): missing simplification
|
2018-09-14 09:36:13 -07:00 |
|
Leonardo de Moura
|
2638a77a79
|
feat(library/compiler/csimp): reduce cases of constructor
|
2018-09-14 09:24:48 -07:00 |
|
Leonardo de Moura
|
3cf0d0f77a
|
chore(library/compiler): lcsimp ==> csimp
|
2018-09-14 09:07:35 -07:00 |
|
Leonardo de Moura
|
1c0a6367c8
|
feat(library/compiler): new dead let removal
|
2018-09-14 08:41:55 -07:00 |
|
Leonardo de Moura
|
960eab96b3
|
chore(library/compiler): minor changes
|
2018-09-13 18:13:53 -07:00 |
|
Leonardo de Moura
|
4cca030251
|
chore(library/compiler/lcnf): do not beta reduce at to_lcnf
|
2018-09-13 18:13:53 -07:00 |
|
Leonardo de Moura
|
31d98caa0f
|
feat(library/compiler): add compiler simplifier skeleton
|
2018-09-13 18:13:53 -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
|
647f40763c
|
feat(library/message_builder): pretty-print kernel_exceptions
|
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
|
b7c3f517a9
|
feat(frontends/lean/builtin_exprs): support for precedence annotations in node!/node_choice!
|
2018-09-13 16:38:40 -07:00 |
|
Sebastian Ullrich
|
a57573a5b7
|
fix(library/init/lean/parser/command): keywords in notation actions are not actual keywords
|
2018-09-13 16:38:40 -07:00 |
|
Leonardo de Moura
|
b8dceda9b7
|
chore(kernel): type_checker::context ==> type_checker::state
|
2018-09-13 14:06:57 -07:00 |
|
Leonardo de Moura
|
c02e2d3b56
|
feat(library/compiler/lcnf): split cases followed by application
|
2018-09-13 12:57:08 -07:00 |
|
Leonardo de Moura
|
23e5136ea2
|
fix(library/equations_compiler/wf_rec): do not generate code for auxiliary *._pack functions added by equation compiler
In the new equation compiler, we should not generate code in the
equation compiler.
|
2018-09-12 22:05:52 -07:00 |
|
Leonardo de Moura
|
20f31c85bf
|
chore(kernel/type_checker): we don't use the kernel type checker for elaboration anymore
|
2018-09-12 20:36:32 -07:00 |
|