Leonardo de Moura
f8fba6877b
fix(library/init/lean/parser/parser): add ident as possible first token for symbolOrIdent
2019-07-14 08:19:42 -07:00
Leonardo de Moura
1dce4a8f70
feat(library/init/lean/parser/parser): add symbolOrIdent
2019-07-14 08:09:04 -07:00
Leonardo de Moura
a843c0be55
feat(library/init/lean/parser/parser): shared TokenTable
2019-07-14 07:53:24 -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
18ab2be51c
feat(library/init/lean/environment): use Thunk to store environment extension initial state
2019-07-13 13:58:20 -07:00
Leonardo de Moura
e4c9326c00
feat(library/init/lean/parser): add module.lean
2019-07-12 16:42:25 -07:00
Leonardo de Moura
728598520b
chore(library/init/lean/parser/term): add new parser! and tparser! notations
2019-07-12 15:51:10 -07:00
Leonardo de Moura
d59d8e0d56
feat(library/init/lean/parser/command): add notation command
2019-07-12 14:18:08 -07:00
Leonardo de Moura
36da73b6cb
feat(library/init/lean/parser/command): add (some) notation commands
2019-07-12 14:01:23 -07:00
Leonardo de Moura
151735d356
chore(library/init/lean/parser/parser): remove testParser
2019-07-12 13:57:56 -07:00
Leonardo de Moura
166a6fa75a
feat(library/init/lean/parser/command): missing commands
2019-07-12 11:00:14 -07:00
Leonardo de Moura
7046a38e93
feat(library/init/lean/parser/command): add inductive, structure and class parsers
2019-07-12 10:21:59 -07:00
Leonardo de Moura
8751f68041
feat(library/init/lean/parser/command): more decl commands
2019-07-11 17:42:11 -07:00
Leonardo de Moura
49d5c83a18
feat(library/init/lean/parser/command): add abbrev
2019-07-11 17:30:29 -07:00
Leonardo de Moura
eed4c72fc5
fix(library/init/lean/parser/command): docComment
2019-07-11 17:28:51 -07:00
Leonardo de Moura
72477f3cc6
feat(library/init/lean/parser/command): improve how optional affects firstTokens field
2019-07-11 17:22:26 -07:00
Leonardo de Moura
d354dc437c
feat(library/init/lean/parser/command): add declaration draft
2019-07-11 17:13:22 -07:00
Leonardo de Moura
05a3bab321
feat(library/init/lean/parser): add command.lean
2019-07-11 16:43:44 -07:00
Leonardo de Moura
3370ab7398
feat(library/init/lean/parser/term): allow equations to be used in let-decls
2019-07-11 13:13:08 -07:00
Leonardo de Moura
99393433a4
feat(library/init/lean/parser/term): do notation
2019-07-11 12:38:55 -07:00
Leonardo de Moura
711ab9f222
feat(library/init/lean/parser/term): missing notation
2019-07-11 10:34:49 -07:00
Leonardo de Moura
295cabed2e
chore(library/init): remove unnecessary notations
2019-07-11 10:27:16 -07:00
Leonardo de Moura
57e2f1be2a
feat(library/init/lean/parser/term): builtin operators
2019-07-11 10:13:00 -07:00
Leonardo de Moura
195fb27ce5
feat(library/init/lean/parser/term): add let
2019-07-11 09:51:34 -07:00
Leonardo de Moura
7b91d880d7
feat(library/init/lean/parser/term): add sortApp, inaccessible and explicit
2019-07-11 09:05:21 -07:00
Leonardo de Moura
2c979459a9
feat(library/init/lean/parser/parser): add many1Indent1 combinator
...
It is useful for create whitespace sensitive notation such as `match` expressions.
2019-07-10 16:10:41 -07:00
Leonardo de Moura
140cc45491
feat(library/init/lean/parser/term): whitespace sensitive match expression
2019-07-10 15:13:28 -07:00
Leonardo de Moura
f95ed02999
feat(library/init/lean/parser/parser): add withPosition and checkColGe parsers
2019-07-10 15:11:54 -07:00
Leonardo de Moura
17cc34def5
feat(library/compiler/compiler): add option compiler.extract_closed
...
It is useful when using `unsafeIO`
2019-07-10 11:08:34 -07:00
Leonardo de Moura
e55e5953d5
chore(library/init/lean/parser/term): remove manual eta expansions
2019-07-09 16:35:06 -07:00
Leonardo de Moura
5dae0303af
chore(library/init/lean/parser): force eta expansion and remove unnecessary [inline]
...
TODO: improve eta-expansion step in the compiler.
2019-07-09 14:09:24 -07:00
Leonardo de Moura
eb69c914e8
chore(library/init/lean/parser/term): add missing [inline]
2019-07-08 22:06:52 -07:00
Leonardo de Moura
c00788a982
fix(library/init/lean/compiler/ir/emitcpp): header of big boxed functions
2019-07-08 21:52:01 -07:00
Leonardo de Moura
b89a389427
chore(library/init/lean/parser/parser): force eta-expansion
2019-07-08 20:46:34 -07:00
Leonardo de Moura
324a053f4c
fix(library/init/lean/compiler/ir/resetreuse): bug at Dmain
2019-07-08 20:37:54 -07:00
Leonardo de Moura
95dc2c5ade
chore(library/init/lean/parser): minor
2019-07-08 14:45:20 -07:00
Leonardo de Moura
f37cd3cd11
feat(library/init/lean/parser/term): match-expression
...
TODO: add whitespace sensitivity
2019-07-08 14:14:49 -07:00
Leonardo de Moura
5cfa13d08b
fix(library/init/lean/parser/parser): consume whitespace in the beginning of the input
2019-07-08 14:13:50 -07:00
Leonardo de Moura
f66f6fd455
fix(library/init/lean/parser/parser): The first tokens of try p are the first tokens of p
2019-07-08 13:46:19 -07:00
Leonardo de Moura
846ec9578d
fix(library/init/lean/parser/term): allow namedArgument notation in applications only
2019-07-08 13:43:12 -07:00
Leonardo de Moura
4a17cf134b
feat(library/init/lean/parser/term): add forall parser
2019-07-08 13:03:21 -07:00
Leonardo de Moura
a6f9633e64
feat(library/init/lean/parser/term): dependent arrow notation
2019-07-08 12:57:49 -07:00
Leonardo de Moura
d3ca360e7f
feat(library/init/lean/parser): depArrow proof of concept
2019-07-08 10:49:54 -07:00
Leonardo de Moura
e2bcf179ac
fix(library/init/lean/parser/parser): missing trim
2019-07-08 10:33:51 -07:00
Leonardo de Moura
8b3d932212
chore(library/init/lean/parser): maxPrec ==> appPrec
2019-07-08 09:17:32 -07:00
Leonardo de Moura
1a81d60820
chore(frontends/lean/parser): simplify binder notation
...
The `<ident> : <expr>` now requires explicit brackets.
2019-07-08 08:54:19 -07:00
Leonardo de Moura
9334f54b87
feat(library/init/lean/parser/parser): support for whitespace sensitive left binding power
...
We use this new feature to implement array access notation `a[i]`.
2019-07-07 07:21:10 -07:00
Leonardo de Moura
2498f197b8
feat(library/init/lean/parser/term): declare some builtin infix operators
...
In Lean4, several builtin operators will be defined programmatically to
make sure we can bootstrap the system before we have all primitives
necessary for defining parsers.
2019-07-05 18:51:14 -07:00
Leonardo de Moura
794edcb18c
chore(library/init/lean/parser): minor modifications
2019-07-05 18:31:03 -07:00
Leonardo de Moura
483b7ae51a
feat(library/init/lean/parser/term): add field notation trailing parser
2019-07-05 16:23:25 -07:00