Leonardo de Moura
d37d02b512
fix: more general instance
2020-01-01 09:16:29 -08:00
Leonardo de Moura
1d4ef0eff5
feat: register new syntax node kinds
2019-12-31 16:50:04 -08:00
Leonardo de Moura
90178dc3d9
feat: add syntaxNodeKindExtension
...
It contains all `SyntaxNodeKind`s registered in the system.
2019-12-31 16:36:50 -08:00
Leonardo de Moura
af5b52092d
feat: register parser extensions tokens
2019-12-31 16:05:14 -08:00
Leonardo de Moura
b17f822488
fix: mkInitial
2019-12-31 13:51:12 -08:00
Leonardo de Moura
88339be110
refactor: improve initialization
2019-12-31 13:39:36 -08:00
Leonardo de Moura
78c53d8351
feat: implement some TODOs at TokenTableAttribute
2019-12-31 13:24:36 -08:00
Leonardo de Moura
069eb0275c
fix: missing registerAttribute and applicationTime
2019-12-31 12:21:54 -08:00
Leonardo de Moura
b3d3d3c41a
fix: initialization issue
2019-12-31 12:13:30 -08:00
Leonardo de Moura
59c7f75dda
feat: add addParserAttribute
2019-12-31 12:07:58 -08:00
Leonardo de Moura
76ec8fc843
chore: add TODO
2019-12-31 11:57:50 -08:00
Leonardo de Moura
d584f1b24e
feat: add Environment as an extra parameter to addImportedFn
2019-12-31 11:11:37 -08:00
Leonardo de Moura
5a743cddeb
feat: improve registerParserAttribute
2019-12-31 10:49:04 -08:00
Leonardo de Moura
7057d71971
refactor: add new parameter to PersistentEnvExtension
2019-12-31 09:18:40 -08:00
Leonardo de Moura
491028df25
feat: add compileParserDescr
2019-12-30 22:11:49 -08:00
Leonardo de Moura
45075c135d
chore: move ParserKind to LeanExt
2019-12-30 22:11:49 -08:00
Leonardo de Moura
a1f079227b
chore: prepare to move ParserKind
2019-12-30 22:11:49 -08:00
Leonardo de Moura
fb86f2e421
feat: add LeanExt.lean and ParserDescr type
2019-12-30 13:51:40 -08:00
Leonardo de Moura
c650e11d6b
fix: missing isUnsafe fieldat OpaqueVal
2019-12-30 11:53:08 -08:00
Leonardo de Moura
28a4859832
feat: expose evalConst
...
@Kha Could you please check `lean_eval_const`?
2019-12-30 11:41:36 -08:00
Leonardo de Moura
b1570ba865
feat: elaborate sortApp
2019-12-30 11:00:13 -08:00
Leonardo de Moura
74741bf613
feat: elaborate explicit universe levels
2019-12-30 10:52:22 -08:00
Sebastian Ullrich
ec13f37414
refactor: use more quotations in the elaborator
2019-12-30 10:19:14 -08:00
Leonardo de Moura
387dbd4036
feat: add liftLevelM
2019-12-30 09:49:04 -08:00
Sebastian Ullrich
eb2f26a71e
fix: let $e now matches the whole letDecl, so specify kinds
2019-12-30 08:24:30 -08:00
Sebastian Ullrich
6fc47e4baf
fix: match_syntax should not check kind of anonymous antiquotations
2019-12-30 08:24:29 -08:00
Sebastian Ullrich
30e795a84d
feat: allow $(x) in match_syntax patterns
2019-12-30 08:24:29 -08:00
Sebastian Ullrich
881e3bf490
fix: raise precedence inside antiquotation parser
2019-12-30 08:24:29 -08:00
Sebastian Ullrich
81381d5c77
feat: make all antiquotation kinds optional
2019-12-30 08:24:29 -08:00
Sebastian Ullrich
8ebe0cb94f
feat: fieldIdx antiquotation
2019-12-30 08:24:29 -08:00
Sebastian Ullrich
f130a82cd9
fix: FirstTokens computation of <|>
2019-12-30 08:24:29 -08:00
Sebastian Ullrich
1f2040727c
feat: autogenerate antiquotations in parser!
2019-12-30 08:24:29 -08:00
Sebastian Ullrich
ebde775671
fix: invoke new parser from old one with maximum precedence
2019-12-30 08:24:29 -08:00
Sebastian Ullrich
1a7cd0e54d
feat: support ident antiquotations (inside term parsers, for now)
2019-12-30 08:24:29 -08:00
Sebastian Ullrich
b32038862e
feat: allow antiquotation kinds to be optional, where unambiguous
2019-12-30 08:24:29 -08:00
Sebastian Ullrich
fe9bd200da
feat: refactor match_syntax compiler to properly match quotation kinds, which can act as both "variable" and "constructor" patterns simultaneously
2019-12-30 08:24:29 -08:00
Sebastian Ullrich
9bf8c96502
feat: save original node kind in antiquot node kind for checking in match_syntax
2019-12-30 08:24:29 -08:00
Leonardo de Moura
11c7045f4b
feat: add elabLevel
2019-12-30 08:17:55 -08:00
Leonardo de Moura
16cb6fe759
feat: add foldrRangeM
2019-12-30 08:11:23 -08:00
Leonardo de Moura
527c3c73b4
chore: improve trace message
2019-12-29 16:55:52 -08:00
Leonardo de Moura
c14ded6984
fix: using incorrect context for withDefault
2019-12-29 10:04:44 -08:00
Leonardo de Moura
02ddbfa7da
fix: typo
2019-12-29 09:49:55 -08:00
Leonardo de Moura
7148fc1078
fix: Borrow.lean
...
The following bugs have been fixed
- The implementation for the `Expr.proj` rule did not match our paper nor `RC.lean`.
The correct rule is:
```
| Expr.proj _ x => whenM (isOwned x) $ ownVar z
```
- We take the OwnsetSet (`O` in our paper) into account when computing
the fixpoint.
- `applyParamMap` and `mkInitParamMap` were not visiting the alternatives of `case` statements.
2019-12-22 19:20:42 -08:00
Sebastian Ullrich
a2d668ec99
fix: leaks
2019-12-22 17:24:57 -08:00
Sebastian Ullrich
f171404530
fix: "superficial" leaks to shut up lsan
2019-12-22 17:23:51 -08:00
Sebastian Ullrich
3b37737c8a
fix: leaks
2019-12-22 15:09:19 -08:00
Leonardo de Moura
bceb02951c
feat: better postpone messages
2019-12-22 10:24:22 -08:00
Leonardo de Moura
ef8e63a47c
refactor: trace directly to MessageLog at Elab monads
...
Motivation: better position information, and it is simpler (e.g., no `tracingAt`)
2019-12-22 09:58:31 -08:00
Leonardo de Moura
ec892c905a
fix: missing tracingAt
2019-12-22 09:34:35 -08:00
Leonardo de Moura
64227b8134
feat: position information for mkHole
2019-12-22 09:34:17 -08:00