Max Brunsfeld
eecbcccee0
Remove generated parsers' dependency on the runtime library
...
Generated parsers no longer export a parser constructor function.
They now export an opaque Language object which can be set on
Documents directly. This way, the logic for constructing parsers
lives entirely in the runtime. The Languages are just structs which
have no load-time dependency on the runtime
2014-07-30 23:40:02 -07:00
Max Brunsfeld
98cc2f2264
Auto-format all source code with clang-format
2014-07-21 13:20:00 -07:00
Max Brunsfeld
df359bc01f
Use 2-space indent in c files
2014-07-20 20:27:33 -07:00
Max Brunsfeld
779bf0d745
Don't store tree's hidden children in a separate array
...
Just mark hidden trees as such, and skip them when
pretty-printing a tree
2014-07-17 13:36:53 -07:00
Max Brunsfeld
25f927e321
Remove unnecessary accessor functions for tree
2014-07-14 21:11:15 -07:00
Max Brunsfeld
6e551d6d9f
Simplify handling of multiple top-level nodes after parsing
2014-07-14 20:46:20 -07:00
Max Brunsfeld
9da7663e99
Combine TSParser and TSStateMachine objects
...
My original thought was to decouple the runtime from
the LR parser generator by making TSParser a generic
interface that LR parsers implement.
I think this was more trouble than it was worth.
2014-07-10 13:23:20 -07:00
Max Brunsfeld
963768eb8a
Remove unnecessary parser helper functions
2014-05-09 15:03:29 -07:00
Max Brunsfeld
0d6435e24a
Pass edit information into parser function
2014-03-15 16:55:35 -07:00
Max Brunsfeld
0dc3a95d0c
Refactor parser header
...
Make separate lexer, stack and parser structs.
2014-03-15 14:43:50 -07:00
Max Brunsfeld
3f4cde7488
Move parser functions to the header
...
- this way they can be inlined by the compiler if need be
2014-01-11 18:15:55 -08:00
Max Brunsfeld
7a3092b765
Refactor parser error messages
...
- move message generation to TSParseError,
so that Parser doesn’t need to import <string>, and can
be compiled as plain C.
2014-01-11 17:59:45 -08:00
Max Brunsfeld
2894ad7447
Improve parser error messages
2014-01-09 13:31:30 -08:00
Max Brunsfeld
55809f702d
Add parser error messages
2014-01-08 18:35:16 -08:00
Max Brunsfeld
614e497ac4
Start building AST in parser
2014-01-07 21:50:32 -08:00
Max Brunsfeld
5813816179
Start work on implementing parser runtime
2014-01-05 15:43:00 -08:00
Max Brunsfeld
29a9b4643d
Add code for setting parse states’ corresponding lex states
2013-12-28 10:23:40 -08:00
Max Brunsfeld
a5e39d2512
Start work on lexing
2013-12-27 17:31:08 -08:00
Max Brunsfeld
3417ad5adb
Add runtime specs
2013-12-17 13:14:41 -08:00