Leonardo de Moura
af2d6dbd45
chore(library/init): avoid local attribute
2019-06-24 15:48:11 -07:00
Leonardo de Moura
8f1345dc53
chore(library/init/lean/syntax): simplify SyntaxNodeKind
2019-06-21 14:24:44 -07:00
Leonardo de Moura
98879f1580
refactor(library/init/lean/parser/parser): simplify SyntaxNodeKind
...
The numeric `id` generation is works well for builtin parsers, but it
creates problems when defining dynamic ones.
2019-06-20 14:51:59 -07:00
Leonardo de Moura
ac43b82668
chore(library/init): remove [derive] uses
...
Trying to minimize the number of features we need to support in the new
frontend, and attributes we need to port to the new attribute manager.
2019-06-20 10:53:15 -07:00
Leonardo de Moura
280e7bb006
feat(library/init/lean/attributes): add TagAttributes
...
`TagAttribute`s are implemented on top of the low level Attribute API,
and `PersistentEnvExtension`.
This is just the first attribute on a series of attributes we are
going to implement using Lean itself.
2019-06-05 21:54:28 -07:00
Leonardo de Moura
d212abb9ee
feat(library/init/lean/syntax): export helper functions for creating syntax in C++
2019-06-05 16:49:58 -07:00
Leonardo de Moura
7909d86e5d
feat(library/init/lean): Syntax objects with new SyntaxNodeKind and Substring, and arrays instead of lists
...
We can use `SyntaxNodeKind.id : Nat` to implement maps from kind to
values using arrays.
2019-06-05 15:35:51 -07:00