lean4-htt/library/init/lean/parser
Leonardo de Moura a495a4ce86 feat(library/init/lean/parser/parser): new parser combinators based on tests/playground/parser
Main differences with respect to `tests/playground/parser`

1- There is a single (parametric) parser type: `Parser k`, where `k` is
   used to identify whether it is a `nud` or `led` parser.
2- It assumes parsing tables are stored in the `Environment`.
3- We check precedence mismatch, and use the value `none` to represent
   "use existing precedence".
4- We have support for silent (aka epsilon) parsing actions.

Remark: the experiments at `tests/playground/parser` demonstrated that the new
parsing infrastructure is at least 10x faster than the one based on the
`Parsec` monad.
2019-06-17 13:29:01 -07:00
..
identifier.lean feat(library/init/lean/parser/identifier): add indentifier.lean back 2019-06-06 15:18:22 -07:00
parser.lean feat(library/init/lean/parser/parser): new parser combinators based on tests/playground/parser 2019-06-17 13:29:01 -07:00
trie.lean chore(library/init/lean/parser/trie): put trie back 2019-06-06 15:14:27 -07:00