Leonardo de Moura
d588d39786
fix(library/init/lean/parser): use symbolOrIdent when parsing max and imax
2019-07-14 08:22:07 -07:00
Leonardo de Moura
52157cebf7
feat(library/init/lean/parser): add ParserAttribute skeleton
2019-07-14 07:16:14 -07:00
Leonardo de Moura
95dc2c5ade
chore(library/init/lean/parser): minor
2019-07-08 14:45:20 -07:00
Leonardo de Moura
8b3d932212
chore(library/init/lean/parser): maxPrec ==> appPrec
2019-07-08 09:17:32 -07:00
Leonardo de Moura
a02443d23d
chore(frontends/lean): fun x, e ==> fun x => e
2019-07-02 13:22:11 -07:00
Leonardo de Moura
531ef5d700
feat(library/init/lean/parser): universe level parser and bug fixes
2019-06-30 09:02:06 -07:00
Leonardo de Moura
e4344b0c94
chore(library/init/lean/parser/default): update default
2019-06-21 14:20:40 -07:00
Leonardo de Moura
bc9e460f62
fix(library/init/lean/compiler/ir): collectUsedDecls must take initialization functions into account
...
Move builtin parser level to its own directory
2019-06-21 13:34:42 -07:00
Leonardo de Moura
55626ba60d
chore(library/init/lean): disable new frontend for now
...
We are going to start making drastic changes in the parser,
elaborator, attributes, etc. Examples:
- No View objects. I am going to implement match_syntax.
- No RecT in the parser. I am going to implement parser extensions
using an approach similar to the one I used to implement environment
extensions.
- No Parsec. I will use an approach similar to the one used in the
experiment https://github.com/leanprover/lean4/tree/master/tests/playground/parser
It is easier to perform these changes with the new frontend disabled.
I will slowly re-active it as I apply the changes.
cc @kha
2019-06-05 15:26:43 -07:00
Leonardo de Moura
04e20623e6
chore(*): use lowercase dir names
2019-03-21 15:06:44 -07:00
Leonardo de Moura
67fb78bb47
chore(*): renaming files
2019-03-21 15:06:44 -07:00
Sebastian Ullrich
beda5f5f43
chore(library): capitalize types and namespaces
2019-03-21 15:06:43 -07:00
Sebastian Ullrich
b939162168
chore(library): switch from snake_case to camelCase
2019-03-21 15:06:43 -07:00
Leonardo de Moura
ecdb9d6df0
feat(library/init, frontends/lean): add abbreviation for abbreviation
2019-03-15 16:01:25 -07:00
Sebastian Ullrich
eaeb0a40a5
chore(library/init/lean/parser): do not expose the parser cache as monad_state
2018-11-08 16:01:19 +01:00
Sebastian Ullrich
0d7ea62f9a
perf(frontends/lean/elaborator,library/init/lean): put out_params first to benefit from instance pre-filtering
2018-10-30 17:43:05 +01:00
Leonardo de Moura
c0b76704a0
chore(library/init/lean/parser/level): typo
2018-10-12 11:56:34 -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
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
a6f25e2ae7
refactor(library/init/lean/parser/token): id ~> ident, ident ~> ident.parser
2018-09-17 18:47:50 -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
98e09c274f
feat(library/init/lean/parser/{pratt,level}): factor out pratt combinator, implement level parsers
2018-09-13 16:38:40 -07:00