Sebastian Ullrich
2528aee72b
refactor(library/init/lean/parser/reader): use different monad stacks for different parts of the reader
2018-08-29 16:42:24 -07:00
Sebastian Ullrich
46f734b1b1
refactor(library/init/lean/parser/reader): replace macro with syntax_node_kind
...
Also make sure that the name inside a node kind is the full name of the
declaration. This way, we cannot have accidentally conflicting node kind names.
2018-08-28 13:13:14 -07:00
Sebastian Ullrich
fd1aa589cf
chore(tests/lean/reader1): fix test
2018-08-23 11:03:40 -07:00
Sebastian Ullrich
c69cc61292
feat(frontends/lean,library/init/lean/parser/reader/module): add node_choice! macro
...
Creates an inductive type from an ordered choice reader
2018-08-22 14:32:03 -07:00
Sebastian Ullrich
bf043ab8bd
feat(library/init/lean/parser/reader/basic): first has_view prototype, plus prefix ~> notation expansion based on it
2018-08-02 20:35:15 -07:00
Sebastian Ullrich
1e1bf4b0f8
feat(library/init/lean/parser/reader/basic): add explicit syntax.missing objects on error
2018-08-02 13:32:28 -07:00
Sebastian Ullrich
3951db3b0b
fix(library/init/lean/parser/reader/basic): error recovery reprint issue
2018-07-30 17:55:17 -07:00
Sebastian Ullrich
87dc8adbe6
fix(library/init/lean/parser/parsec): monad_except.catch should not reset position, consumed flag
2018-07-30 17:50:37 -07:00
Sebastian Ullrich
8666047703
feat(library/init/lean/parser/reader/module): reserve, mixfix, universe commands
2018-07-30 17:30:20 -07:00
Sebastian Ullrich
242d63af25
fix(library/init/lean/parser/reader/basic): store token start position for perfect roundtripping
2018-07-30 17:30:20 -07:00
Sebastian Ullrich
312de57aec
test(tests/lean/reader1): test error recovery and fix bug
2018-07-30 17:30:20 -07:00
Sebastian Ullrich
0fd9d29ba2
feat(library/init/lean/parser/reader/module): command-level error recovery
2018-07-30 10:38:00 -07:00
Sebastian Ullrich
10b18e77a1
feat(library/init/lean/parser/reader/basic): combinators: create partial syntax trees
2018-07-27 16:19:02 -07:00
Sebastian Ullrich
f714a6703f
refactor(library/init/lean/parser/reader/module): coercions and notations
2018-07-26 17:28:11 -07:00
Sebastian Ullrich
1c561726de
feat(library/init/lean/parser/reader/module): basic notation command
2018-07-18 17:45:37 +02:00
Sebastian Ullrich
8444a7412e
feat(library/init/lean/parser/reader/basic): add a small monad transformer for managing recursion and use it to implement recursive section parsing
2018-07-16 18:39:23 +02:00
Sebastian Ullrich
68936e3f80
fix(library/init/lean/format): ensure to_fmt (f : format) = f
2018-07-16 18:14:01 +02:00
Sebastian Ullrich
5b55600e71
feat(library/init/lean/parser/reader/module): open command
2018-07-16 12:38:27 +02:00
Sebastian Ullrich
9e5ae42625
chore(library/init/lean/parser/reader/token): improve error messages
2018-07-13 16:10:13 +02:00
Sebastian Ullrich
09a0397648
fix(library/init/lean/parser/reader/token): fix keyword parsing using longest_match
2018-07-13 15:51:48 +02:00
Sebastian Ullrich
b2f9b2c180
feat(library/init/lean/parser/{syntax,reader}): store whitespace around tokens
2018-07-11 14:34:50 +02:00
Sebastian Ullrich
fbdb73665f
test(tests/lean/reader1): start testing the tokenizer on core.lean and fix a comment bug
2018-07-05 16:51:48 +02:00
Sebastian Ullrich
6b6c16b6d6
chore(library/init/lean/parser/reader/module): remove theory command
...
We plan to allow `noncomputable`, as well as more modifiers, on `namespace/section`
2018-07-05 10:42:52 +02:00
Sebastian Ullrich
8ef87818ce
feat(library/init/lean/parser/reader): implement basic tokenizer
2018-07-05 10:42:37 +02:00
Sebastian Ullrich
70970ce5e0
feat(library/init/lean/parser/reader): add simplistic implementation of a tiny initial part of the Lean reader
...
Maybe 'reader' isn't the best name.
2018-06-18 19:23:58 +02:00