lean4-htt/library/init/lean/parser
Leonardo de Moura 697f69020f fix(library/init/lean/parser/parser): new registerBuiltinParserAttribute
It is still broken since we apply attributes before we compile code.

Recall that attributes such as `@[export]` and `@[extern]` must be applied before we
compile code.

On the other hand, any attribute `attrName`
```
@[attrName] def foo := ...
```
which creates auxiliary definitions that depend on `foo` must be applied
AFTER we generate code for `foo`. Otherwise, we will fail to compile the
auxiliary definition since we don't have code for `foo` yet.

I will fix the issue above by allowing attributes to specify when they
should be applied. I will start with only two options: before and after
code compilation. In the future, we may need more options (e.g., before
elaboration), but I don't see the need yet.

cc @kha
2019-06-19 09:52:56 -07:00
..
default.lean feat(library/init/lean/parser): register builtin parsing tables 2019-06-18 09:25:10 -07:00
identifier.lean feat(library/init/lean/parser/identifier): add indentifier.lean back 2019-06-06 15:18:22 -07:00
parser.lean fix(library/init/lean/parser/parser): new registerBuiltinParserAttribute 2019-06-19 09:52:56 -07:00
trie.lean chore(library/init/lean/parser/trie): put trie back 2019-06-06 15:14:27 -07:00